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 ഫലങ്ങൾ സൃഷ്ടിക്കാനുള്ള നിർദ്ദേശമല്ല.

അനുബന്ധ ലേഖനങ്ങൾ