Hadoop DistCp: worker လုပ်ငန်းများတွင် S3A proxy ကို ပြင်ဆင်ခြင်း
Hadoop S3A connector ၏ proxy ကို ပြင်ဆင်ပြီး DistCp worker များ လွှဲပြောင်းမှု ပြုလုပ်သည့်နေရာတွင် ပြင်ဆင်မှုကို ရရှိစေပါ။
HTTP proxy မှတစ်ဆင့် Hadoop 3.4.2 ၏ S3A connector အတွက် ဤ entries များကို လုပ်ငန်း၏ Hadoop ပြင်ဆင်မှုတွင်၊ များသောအားဖြင့် သက်ဆိုင်ရာ core-site.xml တွင် ပေါင်းထည့်ပါ-
<property>
<name>fs.s3a.proxy.host</name>
<value>gateway.example</value>
</property>
<property>
<name>fs.s3a.proxy.port</name>
<value>8080</value>
</property>
<property>
<name>fs.s3a.proxy.ssl.enabled</name>
<value>false</value>
</property>Proxy အထောက်အထား မသတ်မှတ်ဘဲ အများပြည်သူ ရောက်ရှိနိုင်သော S3 endpoint ကို သီးခြား ခွင့်ပြုထားသော စမ်းသပ်မှုအတွက် HTTP proxy စာရင်း သည် hostname နှင့် တိကျသော port အတွက် ဖြစ်နိုင်ခြေတန်ဖိုးများကို ပေးပါသည်။ fs.s3a.proxy.ssl.enabled=false သည် ဤ proxy သို့ ရိုးရှင်းသော HTTP ချိတ်ဆက်မှုကို ရွေးချယ်သည်။ ၎င်းသည် S3A မှ S3 သို့ TLS ကို ပိတ်မထားပါ။ အမှန်တကယ် proxy listener နှင့် ကိုက်ညီသော တန်ဖိုးကို အသုံးပြုပါ။
အသုံးပြုသူ နှစ်ခုလုံးကို စစ်ဆေးပါ။ တင်သွင်းသော client သည် S3 ကို အောင်မြင်စွာ စာရင်းပြုစုနိုင်သော်လည်း DistCp map-task containers များသည် proxy သို့ မရောက်နိုင်သလို တူညီသော filesystem ပြင်ဆင်မှုကိုလည်း မဖွင့်နိုင်ပါ။ လွှဲပြောင်းမှုများကို ထို task များက ပြုလုပ်သည်။
မအောင်မြင်သော task အတွက် လုပ်ဆောင်သည့် host၊ အကျိုးသက်ရောက်သော ပြင်ဆင်မှုနှင့် ရွေးချယ်ထားသော endpoint ကို အမှားနှင့်အတူ သိမ်းဆည်းပါ။ တင်သွင်းသည့် shell ၏ ပတ်ဝန်းကျင်သည် worker အတွက် လုံလောက်သော အထောက်အထား မဟုတ်ပါ။
ဤဆက်တင်များသည် s3a:// ကို ထိန်းချုပ်သည်။ ရှေးကျသော Jets3t connector နည်းလမ်းများသည် အခြား implementation ကို ပြင်ဆင်ပြီး ဤအလုပ်တွင် အသုံးပြုသော S3A ရွေးချယ်စရာများကို အစားထိုးမပေးပါ။