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. кілтін, содан кейін протокол класының қарапайым атауын тексереді. Ол әдепкі мәнді сол іздеу ешбір фабрика таңдамағанда ғана қолданады.

Сондықтан басқа жүктелген файлдан келген мән ескі фабриканы белсенді ұстап тұруы мүмкін. Сервердегі бір XML файлын емес, клиенттің нақты Configuration объектісін тексеріңіз.

Бұл Hadoop сол TCP фабрикасын қолданатын жерлерге қатысты. Ол компоненттің межелік мекенжайы мен DNS мінез-құлқын сақтайды; проксиді таңдау — ауыстырмалы DNS нәтижелерін ойлап табу туралы нұсқау емес.

Қатысты мақалалар