在我的羣集CDH5.4中,我有一個位於私有和公共網絡上的網關節點。該羣集位於專用網絡上。 我想使用sqoop從公用網絡上的數據庫服務器中獲取數據。當我發出命令時,地圖任務失敗如何啓用datanode訪問超出其專用網絡?
Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: Unknown host specified
我知道羣集節點無法訪問公共網絡上的數據庫服務器。
考慮到這種公共 - 專用網絡架構在業界很常見,使datanode能夠在公共網絡上訪問服務器的正確方法是什麼?
任何幫助是非常讚賞....
網關節點
$>route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.248.200.0 * 255.255.255.0 U 0 0 0 bond_internal
192.168.196.0 * 255.255.252.0 U 0 0 0 bond_external
link-local * 255.255.0.0 U 1007 0 0 bond_external
link-local * 255.255.0.0 U 1008 0 0 bond_internal
default 192.168.196.1 0.0.0.0 UG 0 0 0 bond_external
的Datanode
$>route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.248.200.0 * 255.255.255.0 U 0 0 0 bond0
link-local * 255.255.0.0 U 1008 0 0 bond0
也許通過網關節點的代理或使用Sentry –
不完全是一個hadoop問題,似乎像網絡路由問題。您可以添加運行sqoop的節點的路由表嗎?使用'route -v'。 – ViKiG
@vkgade - 感謝您的回覆。我添加了路由表信息。 – scott