Hadoop istemci yapılandırmasında bir SOCKS soket fabrikası
SOCKS uç noktasını ve fabrika sınıfını birlikte yükleyin, ardından Hadoop'un protokole özgü fabrika geçersiz kılmalarını hesaba katın.
Hadoop hem SOCKS uç noktasına hem de onu okuyan bir istemci soket fabrikasına ihtiyaç duyar. İkisini de işlem için yüklenen core-site.xml dosyasına ekleyin:
<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'de SocksSocketFactory host:port uç noktasını kendi Configuration nesnesinden okur ve Java soketlerini bu yolla oluşturur. Proxy kimlik doğrulaması olmadan izin verilen genel bir TCP testi için SOCKS proxy listesinden uyumlu bir kayıt hadoop.socks.server değerini sağlayabilir; gerekli tüm protokol hedeflerine ve bağlantı noktalarına erişimi doğrulayın.
Varsayılanın seçildiğini varsaymadan önce protokole özgü anahtarı inceleyin: NetUtils önce hadoop.rpc.socket.factory.class. anahtarını, ardından protokol sınıfının basit adını denetler. Varsayılanı yalnızca bu arama hiçbir fabrika seçmediğinde kullanır.
Bu nedenle başka bir yüklenen dosyadaki değer eski fabrikayı etkin tutabilir. Bir sunucudaki tek bir XML dosyası yerine etkin istemci Configuration nesnesini inceleyin.
Bu, Hadoop'un o TCP fabrikasını kullandığı yerlerde geçerlidir. Bileşenin hedef adres ve DNS davranışını korur; proxy'yi seçmek, yerine geçen DNS sonuçları uydurma talimatı değildir.