Uma fábrica de sockets SOCKS na configuração do cliente do Hadoop
Carregue o endpoint SOCKS e a classe de fábrica em conjunto, e depois considere as substituições de fábrica específicas do protocolo no Hadoop.
O Hadoop precisa tanto do endpoint SOCKS como de uma fábrica de sockets de cliente que o leia. Adicione ambos ao core-site.xml carregado para a operação:
<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>No Hadoop 3.4.2, SocksSocketFactory lê o endpoint host:port da sua Configuration e cria sockets Java com essa rota. Para um teste TCP público permitido sem autenticação de proxy, uma entrada compatível da lista de proxies SOCKS pode fornecer hadoop.socks.server; confirme o acesso a todos os destinos e portas de protocolo necessários.
Antes de presumir que o valor predefinido foi escolhido, inspecione a chave específica do protocolo: o NetUtils verifica primeiro hadoop.rpc.socket.factory.class. seguido do nome simples da classe de protocolo. Só usa o valor predefinido quando essa pesquisa não seleciona nenhuma fábrica.
Um valor de outro ficheiro carregado pode, por isso, manter a fábrica antiga ativa. Inspecione a Configuration efetiva do cliente em vez de um único ficheiro XML num servidor.
Isto aplica-se onde o Hadoop usa essa fábrica TCP. Preserva o comportamento de endereço de destino e de DNS do componente; escolher o proxy não é uma instrução para inventar resultados DNS de substituição.