โรงงานซ็อกเก็ต 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 ทดแทนขึ้นมา