Фабрыка SOCKS-сокетаў у кліенцкай канфігурацыі Hadoop
Загрузіце канчатковы пункт SOCKS і клас фабрыкі разам, затым улічыце пратаколаспецыфічныя перакрыцці фабрыкі ў Hadoop.
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.