Fabryka gniazd SOCKS w konfiguracji klienta Hadoop
Wczytaj punkt końcowy SOCKS i klasę fabryki razem, a następnie uwzględnij specyficzne dla protokołu nadpisania fabryki w Hadoop.
Hadoop potrzebuje zarówno punktu końcowego SOCKS, jak i fabryki gniazd klienta, która go odczytuje. Dodaj oba do pliku core-site.xml wczytywanego dla operacji:
<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>W Hadoop 3.4.2 SocksSocketFactory odczytuje punkt końcowy host:port ze swojej Configuration i tworzy gniazda Java tą trasą. Do dozwolonego publicznego testu TCP bez uwierzytelniania proxy zgodny wpis z listy proxy SOCKS może dostarczyć hadoop.socks.server; potwierdź dostęp do wszystkich wymaganych celów protokołu i portów.
Zanim założysz, że wybrano wartość domyślną, sprawdź klucz specyficzny dla protokołu: NetUtils najpierw sprawdza hadoop.rpc.socket.factory.class., a następnie prostą nazwę klasy protokołu. Wartości domyślnej używa tylko wtedy, gdy to wyszukiwanie nie wybierze żadnej fabryki.
Wartość z innego wczytanego pliku może więc utrzymać starą fabrykę w użyciu. Sprawdzaj efektywną konfigurację klienta, a nie jeden plik XML na serwerze.
Dotyczy to miejsc, w których Hadoop używa tej fabryki TCP. Zachowuje ona zachowanie adresu docelowego i DNS komponentu; wybór proxy nie jest poleceniem wymyślania zastępczych wyników DNS.