Hadoop trenger både SOCKS-endepunktet og en klient-socketfabrikk som leser det. Legg begge til i core-site.xml som lastes for operasjonen:

<property>
  <name>hadoop.socks.server</name>
  <value>proxy.example.net:1080</value>
</property>
<property>
  <name>hadoop.rpc.socket.factory.class.default</name>
  <value>org.apache.hadoop.net.SocksSocketFactory</value>
</property>

I Hadoop 3.4.2 leser SocksSocketFactory host:port-endepunktet fra sin Configuration og oppretter Java-sockets med den ruten. For en tillatt offentlig TCP-test uten proxyautentisering kan en kompatibel oppføring fra SOCKS-proxylisten levere hadoop.socks.server; bekreft tilgang til alle nødvendige protokollmål og porter.

Før du antar at standarden er valgt, undersøk den protokollspesifikke nøkkelen: NetUtils sjekker først hadoop.rpc.socket.factory.class. etterfulgt av protokollklassens enkle navn. Den bruker standarden bare når det oppslaget ikke velger noen fabrikk.

En verdi fra en annen innlastet fil kan derfor holde den gamle fabrikken aktiv. Undersøk den effektive klientkonfigurasjonen i stedet for én XML-fil på en server.

Dette gjelder der Hadoop bruker den TCP-fabrikken. Den bevarer komponentens atferd for destinasjonsadresse og DNS; valget av proxy er ikke en instruks om å finne opp erstatnings-DNS-resultater.

Relaterte artikler