Hadoop necesita tanto o extremo SOCKS como unha fábrica de sockets de cliente que o lea. Engada ambos ao core-site.xml cargado para a operación:

<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>

En Hadoop 3.4.2, SocksSocketFactory le o extremo host:port da súa Configuration e crea sockets Java con esa ruta. Para unha proba TCP pública permitida sen autenticación de proxy, unha entrada compatible da lista de proxies SOCKS pode fornecer hadoop.socks.server; confirme o acceso a todos os destinos e portos de protocolo necesarios.

Antes de supor que se seleccionou o valor predeterminado, inspeccione a clave específica do protocolo: NetUtils comproba primeiro hadoop.rpc.socket.factory.class. seguido do nome simple da clase de protocolo. Só usa o valor predeterminado cando esa busca non selecciona ningunha fábrica.

Un valor doutro ficheiro cargado pode, polo tanto, manter activa a fábrica antiga. Inspeccione a Configuration efectiva do cliente en lugar dun só ficheiro XML nun servidor.

Isto aplícase onde Hadoop usa esa fábrica TCP. Conserva o comportamento de enderezo de destino e DNS do compoñente; escoller o proxy non é unha instrución para inventar resultados DNS de substitución.

Artigos relacionados