Hadoop client ဖွဲ့စည်းမှုရှိ SOCKS socket factory
SOCKS endpoint နှင့် factory class ကို အတူတကွ ဖွင့်ပြီး Hadoop ၏ protocol အလိုက် factory အစားထိုးမှုများကို ထည့်သွင်းစဉ်းစားပါ။
Hadoop တွင် SOCKS endpoint နှင့် ၎င်းကို ဖတ်သော client socket factory နှစ်ခုလုံး လိုအပ်သည်။ နှစ်ခုလုံးကို လုပ်ဆောင်ချက်အတွက် ဖွင့်ထားသော 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 သည် ၎င်း၏ Configuration မှ host:port endpoint ကို ဖတ်ပြီး ထိုလမ်းကြောင်းဖြင့် Java socket များ ဖန်တီးသည်။ proxy အတည်ပြုချက်မပါဘဲ ခွင့်ပြုထားသော အများသူငှာ TCP စမ်းသပ်မှုအတွက် SOCKS proxy စာရင်းမှ ကိုက်ညီသော entry က hadoop.socks.server ကို ပေးနိုင်သည်; လိုအပ်သော protocol ဦးတည်ရာများနှင့် port များအားလုံးသို့ ဝင်ရောက်နိုင်မှုကို အတည်ပြုပါ။
မူလတန်ဖိုး ရွေးထားသည်ဟု မယူဆမီ protocol-specific key ကို စစ်ဆေးပါ: NetUtils သည် ပထမ hadoop.rpc.socket.factory.class. ကို စစ်ပြီး ထို့နောက် protocol class ၏ ရိုးရှင်းသော အမည်ကို စစ်သည်။ ထိုရှာဖွေမှုက factory တစ်ခုမှ မရွေးသောအခါမှသာ မူလတန်ဖိုးကို အသုံးပြုသည်။
ထို့ကြောင့် အခြားဖွင့်ထားသော ဖိုင်မှ တန်ဖိုးသည် ဟောင်းနေသော factory ကို အသက်ဝင်နေစေနိုင်သည်။ ဆာဗာရှိ XML ဖိုင်တစ်ခုတည်းမဟုတ်ဘဲ အကျိုးသက်ရောက်သော client Configuration ကို စစ်ဆေးပါ။
Hadoop ထို TCP factory ကို အသုံးပြုသည့်နေရာများတွင် ဤအရာ သက်ရောက်သည်။ ၎င်းသည် component ၏ ဦးတည်ရာလိပ်စာနှင့် DNS အပြုအမူကို ထိန်းသိမ်းသည်; proxy ကို ရွေးချယ်ခြင်းသည် အစားထိုး DNS ရလဒ်များ တီထွင်ရန် ညွှန်ကြားချက် မဟုတ်ပါ။