2011-11-28 29 views
0

在我的Hadoop環境中,我需要配置我的從屬節點,以便當它們在地圖/縮減作業中進行通信時,它們使用內部IP而不是外部IP它從主機名中提取。使用內部IP配置從屬主機名 - 多個NIC

有什麼辦法可以設置我的Hadoop配置文件來指定節點應該使用內部IP而不是外部IP進行通信嗎?我已經在我的core-site.xml,master和slave文件中使用了內部IP。

我已經做了一些研究,我見過有人提到「slave.host.name」參數,但是我將這個參數放在哪個配置文件中?有沒有其他解決方案來解決這個問題?

謝謝!

回答

0

必須更改IP routing tables,以便Hadoop節點之間的網絡使用特定的網關。不要認爲Hadoop有任何設置來更改要使用的網關。

+0

有沒有其他方法可以做到這一點? 如果是這樣,是否有一個簡單的方法來設置IP路由表,以便它只返回內部IP,如果它是一個特定的節點/ IP請求它? – Ken

+0

您可以使用'route'命令 - 打開另一個關於如何更改IP路由的查詢,並且有人會幫助您 –

0

您可以在mapred-site.xml中爲每個從節點配置slave.host.name。 還請記住對所有其他配置(core-site.xml,hdfs-site.xml,mapred-site.xml,主設備,從設備)和/ etc/hosts文件一致地使用該主機名(而不是IP)。