Een SOCKS-socketfactory in de clientconfiguratie van Hadoop
Laad het SOCKS-eindpunt en de factoryklasse samen, en houd dan rekening met de protocolspecifieke factory-overschrijvingen van Hadoop.
Hadoop heeft zowel het SOCKS-eindpunt als een clientsocketfactory die het leest nodig. Voeg beide toe aan de core-site.xml die voor de bewerking wordt geladen:
<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>In Hadoop 3.4.2 leest SocksSocketFactory het host:port-eindpunt uit zijn Configuration en maakt Java-sockets met die route. Voor een toegestane openbare TCP-test zonder proxyauthenticatie kan een compatibele vermelding uit de SOCKS-proxylijst hadoop.socks.server leveren; bevestig toegang tot alle vereiste protocoldestinations en poorten.
Voordat u aanneemt dat de standaardwaarde is gekozen, controleert u de protocolspecifieke sleutel: NetUtils controleert eerst hadoop.rpc.socket.factory.class. gevolgd door de eenvoudige naam van de protocolklasse. De standaardwaarde wordt alleen gebruikt als die opzoeking geen factory selecteert.
Een waarde uit een ander geladen bestand kan de oude factory dus actief houden. Controleer de effectieve clientconfiguratie in plaats van één XML-bestand op een server.
Dit geldt waar Hadoop die TCP-factory gebruikt. Het behoudt het gedrag van de component voor bestemmingsadres en DNS; het kiezen van de proxy is geen opdracht om vervangende DNS-resultaten te verzinnen.