Hadoop həm SOCKS son nöqtəsinə, həm də onu oxuyan müştəri soket fabrikinə ehtiyac duyur. Hər ikisini əməliyyatın yüklədiyi core-site.xml faylına əlavə edin:

<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-də SocksSocketFactory host:port son nöqtəsini öz Configuration obyektindən oxuyur və həmin marşrutla Java soketləri yaradır. Proksi autentifikasiyası olmadan icazə verilən açıq TCP sınağı üçün SOCKS proksi siyahısından uyğun bir giriş hadoop.socks.server dəyərini verə bilər; tələb olunan bütün protokol təyinatlarına və portlara çıxışı təsdiqləyin.

Defoltun seçildiyini güman etməzdən əvvəl protokola xas açarı yoxlayın: NetUtils əvvəlcə hadoop.rpc.socket.factory.class. sonra protokol sinfinin sadə adını yoxlayır. Defoltu yalnız bu axtarış heç bir fabrik seçmədikdə istifadə edir.

Buna görə başqa yüklənmiş fayldan gələn dəyər köhnə fabriki aktiv saxlaya bilər. Serverdəki bir XML faylını deyil, faktiki müştəri Configuration obyektini yoxlayın.

Bu, Hadoop-un həmin TCP fabrikindən istifadə etdiyi yerlərdə tətbiq olunur. Komponentin təyinat ünvanı və DNS davranışını qoruyur; proksinin seçilməsi DNS nəticələrini uydurmaq üçün göstəriş deyil.

Əlaqəli məqalələr