En SOCKS-socketfabrik i Hadoops klientkonfiguration
Läs in SOCKS-slutpunkten och fabriksklassen tillsammans och ta sedan hänsyn till Hadoops protokollspecifika fabriksöverstyrningar.
Hadoop behöver både SOCKS-slutpunkten och en klient-socketfabrik som läser den. Lägg till båda i den core-site.xml som laddas för åtgärden:
<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 läser SocksSocketFactory host:port-slutpunkten från sin Configuration och skapar Java-sockets med den rutten. För ett tillåtet offentligt TCP-test utan proxyautentisering kan en kompatibel post från SOCKS-proxylistan leverera hadoop.socks.server; bekräfta åtkomst till alla nödvändiga protokollmål och portar.
Innan du antar att standardvärdet väljs, undersök den protokollspecifika nyckeln: NetUtils kontrollerar först hadoop.rpc.socket.factory.class. följt av protokollklassens enkla namn. Den använder standardvärdet bara när den sökningen inte väljer någon fabrik.
Ett värde från en annan inläst fil kan därför hålla den gamla fabriken aktiv. Granska den effektiva klientkonfigurationen i stället för en enda XML-fil på en server.
Detta gäller där Hadoop använder den TCP-fabriken. Den bevarar komponentens beteende för destinationsadress och DNS; valet av proxy är inte en instruktion att hitta på ersättande DNS-resultat.