Το 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 διαβάζει το τελικό σημείο host:port από το Configuration του και δημιουργεί υποδοχές Java με αυτή τη διαδρομή. Για μια επιτρεπόμενη δημόσια δοκιμή TCP χωρίς έλεγχο ταυτότητας μεσολαβητή, μια συμβατή καταχώριση από τη λίστα μεσολαβητών SOCKS μπορεί να παρέχει το hadoop.socks.server· επιβεβαιώστε την πρόσβαση σε όλους τους απαιτούμενους προορισμούς και θύρες του πρωτοκόλλου.

Πριν υποθέσετε ότι έχει επιλεγεί η προεπιλογή, ελέγξτε το κλειδί που αφορά το πρωτόκολλο: το NetUtils ελέγχει πρώτα το hadoop.rpc.socket.factory.class. και μετά το απλό όνομα της κλάσης του πρωτοκόλλου. Χρησιμοποιεί την προεπιλογή μόνο όταν αυτή η αναζήτηση δεν επιλέγει κανένα εργοστάσιο.

Έτσι, μια τιμή από άλλο φορτωμένο αρχείο μπορεί να κρατήσει ενεργό το παλιό εργοστάσιο. Ελέγξτε το πραγματικό Configuration του πελάτη και όχι ένα μόνο αρχείο XML σε έναν διακομιστή.

Αυτό ισχύει όπου το Hadoop χρησιμοποιεί αυτό το εργοστάσιο TCP. Διατηρεί τη συμπεριφορά της διεύθυνσης προορισμού και του DNS του στοιχείου· η επιλογή του μεσολαβητή δεν είναι οδηγία να επινοηθούν εναλλακτικά αποτελέσματα DNS.

Σχετικά άρθρα