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 अपने Configuration से host:port एंडपॉइंट पढ़ता है और उसी मार्ग से Java सॉकेट बनाता है। प्रॉक्सी प्रमाणीकरण के बिना किसी अनुमत सार्वजनिक TCP परीक्षण के लिए SOCKS प्रॉक्सी सूची की कोई संगत प्रविष्टि hadoop.socks.server दे सकती है; सभी आवश्यक प्रोटोकॉल गंतव्यों और पोर्ट तक पहुँच की पुष्टि करें।

यह मानने से पहले कि डिफ़ॉल्ट चुना गया है, प्रोटोकॉल-विशिष्ट कुंजी जाँचें: NetUtils पहले hadoop.rpc.socket.factory.class. जाँचता है, फिर प्रोटोकॉल क्लास का सरल नाम। वह डिफ़ॉल्ट का उपयोग केवल तब करता है जब वह खोज कोई फ़ैक्टरी न चुने।

इसलिए किसी अन्य लोड की गई फ़ाइल का मान पुरानी फ़ैक्टरी को सक्रिय रख सकता है। सर्वर पर किसी एक XML फ़ाइल के बजाय प्रभावी क्लाइंट Configuration जाँचें।

यह वहाँ लागू होता है जहाँ Hadoop उस TCP फ़ैक्टरी का उपयोग करता है। यह घटक के गंतव्य-पता और DNS व्यवहार को बनाए रखता है; प्रॉक्सी चुनना बदले हुए DNS परिणाम गढ़ने का निर्देश नहीं है।

संबंधित लेख