Hadoop potrebuje koncový bod SOCKS aj klientsku továreň socketov, ktorá ho číta. Pridajte oboje do core-site.xml načítaného pre operáciu:

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

V Hadoope 3.4.2 SocksSocketFactory číta koncový bod host:port zo svojej Configuration a vytvára sockety Java s touto trasou. Pre povolený verejný TCP test bez autentifikácie proxy môže kompatibilný záznam zo zoznamu SOCKS proxy poskytnúť hadoop.socks.server; overte prístup ku všetkým požadovaným cieľom protokolu a portom.

Skôr než budete predpokladať, že je vybratá predvolená hodnota, skontrolujte kľúč špecifický pre protokol: NetUtils najprv kontroluje hadoop.rpc.socket.factory.class. a potom jednoduchý názov triedy protokolu. Predvolenú hodnotu použije len vtedy, keď toto hľadanie nevyberie žiadnu továreň.

Hodnota z iného načítaného súboru tak môže udržať starú továreň aktívnu. Kontrolujte efektívnu klientsku Configuration, nie jeden súbor XML na serveri.

Platí to tam, kde Hadoop používa túto TCP továreň. Zachováva správanie komponentu pre cieľovú adresu a DNS; výber proxy nie je pokyn vymýšľať náhradné výsledky DNS.

Súvisiace články