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 ಫಲಿತಾಂಶಗಳನ್ನು ಸೃಷ್ಟಿಸುವ ಸೂಚನೆ ಅಲ್ಲ.