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.

Падобныя артыкулы