Hadoop క్లయింట్ కాన్ఫిగరేషన్లో SOCKS సాకెట్ ఫ్యాక్టరీ
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 తన Configuration నుండి host:port ఎండ్పాయింట్ను చదివి ఆ మార్గంతో Java సాకెట్లను సృష్టిస్తుంది. ప్రాక్సీ ప్రామాణీకరణ లేకుండా అనుమతించబడిన పబ్లిక్ TCP పరీక్ష కోసం SOCKS ప్రాక్సీ జాబితా నుండి సరిపోయే నమోదు hadoop.socks.server ను అందించగలదు; అవసరమైన అన్ని ప్రోటోకాల్ గమ్యస్థానాలు మరియు పోర్టులకు ప్రాప్యతను నిర్ధారించండి.
డిఫాల్ట్ ఎంపిక చేయబడిందని భావించే ముందు ప్రోటోకాల్-నిర్దిష్ట కీని తనిఖీ చేయండి: NetUtils మొదట hadoop.rpc.socket.factory.class. ఆపై ప్రోటోకాల్ తరగతి సరళ నామాన్ని తనిఖీ చేస్తుంది. ఆ శోధన ఏ ఫ్యాక్టరీని ఎంచుకోనప్పుడు మాత్రమే ఇది డిఫాల్ట్ను ఉపయోగిస్తుంది.
అందువల్ల మరో లోడ్ చేసిన ఫైల్ నుండి వచ్చిన విలువ పాత ఫ్యాక్టరీని యాక్టివ్గా ఉంచగలదు. సర్వర్లోని ఒక XML ఫైల్ కాకుండా ప్రభావవంతమైన క్లయింట్ Configuration ను తనిఖీ చేయండి.
Hadoop ఆ TCP ఫ్యాక్టరీని ఉపయోగించే చోట ఇది వర్తిస్తుంది. ఇది భాగం యొక్క గమ్య చిరునామా మరియు DNS ప్రవర్తనను కాపాడుతుంది; ప్రాక్సీని ఎంచుకోవడం ప్రత్యామ్నాయ DNS ఫలితాలను కల్పించే సూచన కాదు.