Une fabrique de sockets SOCKS dans la configuration client de Hadoop
Chargez ensemble le point de terminaison SOCKS et la classe de fabrique, puis tenez compte des substitutions de fabrique propres au protocole dans Hadoop.
Hadoop a besoin à la fois du point de terminaison SOCKS et d'une fabrique de sockets client qui le lit. Ajoutez les deux au core-site.xml chargé pour l'opération :
<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>Dans Hadoop 3.4.2, SocksSocketFactory lit le point de terminaison host:port depuis sa Configuration et crée des sockets Java avec cette route. Pour un test TCP public autorisé sans authentification de proxy, une entrée compatible de la liste de proxys SOCKS peut fournir hadoop.socks.server ; confirmez l'accès à toutes les destinations et ports de protocole requis.
Avant de supposer que la valeur par défaut est sélectionnée, examinez la clé propre au protocole : NetUtils vérifie d'abord hadoop.rpc.socket.factory.class. puis le nom simple de la classe de protocole. Il n'utilise la valeur par défaut que lorsque cette recherche ne sélectionne aucune fabrique.
Une valeur provenant d'un autre fichier chargé peut donc maintenir l'ancienne fabrique active. Examinez la Configuration effective du client plutôt qu'un seul fichier XML sur un serveur.
Cela s'applique là où Hadoop utilise cette fabrique TCP. Elle préserve le comportement d'adresse de destination et de DNS du composant ; choisir le proxy n'est pas une instruction d'inventer des résultats DNS de remplacement.