Hadoop се нуждае както от SOCKS крайната точка, така и от клиентска фабрика за сокети, която я чете. Добавете двете в core-site.xml, зареден за операцията:

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

В Hadoop 3.4.2 SocksSocketFactory чете крайната точка host:port от своята Configuration и създава Java сокети по този маршрут. За разрешен публичен TCP тест без удостоверяване на прокси, съвместим запис от списъка със SOCKS прокси сървъри може да предостави hadoop.socks.server; потвърдете достъпа до всички необходими дестинации и портове на протокола.

Преди да приемете, че е избрана стойността по подразбиране, проверете специфичния за протокола ключ: NetUtils първо проверява hadoop.rpc.socket.factory.class., последван от простото име на класа на протокола. Използва стойността по подразбиране само когато това търсене не избере фабрика.

Затова стойност от друг зареден файл може да остави старата фабрика активна. Проверявайте ефективната клиентска Configuration, а не един XML файл на сървър.

Това важи там, където Hadoop използва тази TCP фабрика. Тя запазва поведението на компонента за адрес на дестинация и DNS; изборът на прокси не е указание да се измислят заместващи DNS резултати.

Подобни статии