2014-03-05 33 views
3

![1]這個問題可能看起來很明顯,但由於hadoop集羣上主機文件配置錯誤,我經常遇到它。如何爲Hadoop生態系統配置hosts文件

任何人都可以描述如何爲hadoop和類似的環境使用(如cloudera)設置主機文件和其他相關網絡配置。

特別是當我必須將這兩個主機名和FQDN

更新

下面是從主機名cdh4hdm機器之一的主機文件有Hadoop的法師角色

127.0.0.1       cdh4hdm  localhost 
    #127.0.1.1      cdh4hdm 

# The following lines are desirable for IPv6 capable hosts 

    172.26.43.40    cdh4hdm.imp.co.in            kdc1 
    172.26.43.41    cdh4hbm.imp.co.in    
    172.26.43.42    cdh4s1.imp.co.in     
    172.26.43.43    cdh4s2.imp.co.in     
    172.26.43.44    cdh4s3.imp.co.in     
    172.26.43.45    cdh4s4.imp.co.in     

    ::1     ip6-localhost ip6-loopback 
    fe00::0 ip6-localnet 
    ff00::0 ip6-mcastprefix 
    ff02::1 ip6-allnodes 
    ff02::2 ip6-allrouters 

請參閱附加的圖像

在羣集這裏一些節點正在獲得FQDN等我正在獲取主機名。

主機的IP也並不恰當,並顯示127.0.0.1,而不是主機的IP

請建議

+0

你的意思是'的/ etc/hosts'文件? – vefthym

+0

@vefthym請參閱更新的問題與詳細信息,如果您需要任何其他詳細信息,請隨時問 –

回答

2

如果你指的是/etc/hosts文件,那麼這裏就是我如何在我的Hadoop集羣設置:

127.0.0.1  localhost 
192.168.0.5  master 
192.168.0.6  slave1 
192.168.0.7  slave2 
192.168.0.18 slave3 
192.168.0.3  slave4 
192.168.0.4  slave5 nameOfCurrentMachine 

,其中nameOfCurrentMachine是,這個文件被設置時,用作slave5機器。有些人說第一行應該被刪除,但我沒有遇到任何問題,我也沒有嘗試刪除它。

然後,$HADOOP_CONF_DIR/masters文件中的主節點應該是:

master 

$HADOOP_CONF_DIR/slaves文件中的主節點應該是:

slave1 
slave2 
slave3 
slave4 
slave5 

在所有其他節點,我只是設置這兩個文件只包含:

localhost 

你也應該m確保你可以從主人ssh到其他每個節點(使用它的名字,而不是它的IP)沒有密碼。 This post描述如何實現這一點。

+0

當我只使用主機名時,它解決了問題。 FQDN呢? –

+0

我從來沒有嘗試過別的東西,而不是我在這裏描述的東西。你指的是哪個部分?要'nameOfCurrentMachine',還是IP? – vefthym

+0

我對所有節點都有FQDN,但在集羣上有一些節點只與主機名相關,而其他節點是主機的FQDN –

4

對於UBUNTU

Hosts文件和其他配置的Hadoop集羣

提供主機名的集羣機器,但這樣做在/ etc /主機文件中添加主機名

hostname-of-machine 

在所有主機上,hosts文件應該是這樣的:

ho STS

127.0.0.1  localhost 
#127.0.1.1  localhost 

<ip of host> FQDN    hostname other_name 
172.26.43.10 cdh4hdm.domain.com cdh4hdm  kdc1 
172.26.43.11 cdh4hbm.domain.com cdh4hbm 
172.26.43.12 cdh4s1.domain.com cdh4s1 
172.26.43.13 cdh4s2.domain.com cdh4s2 
172.26.43.14 cdh4s3.domain.com cdh4s3 
172.26.43.15 cdh4s4.domain.com cdh4s4 

注:確保註釋行127.0.1.1本地主機可能在飼養員和集羣創造的問題。

添加DNS服務器的IP /etc/resolv.conf中

resolve.conf

search domain.com 
nameserver 10.0.1.1 

驗證配置檢查HOSTFILE和你應該能夠使用主機名

來ping所有的機器

要檢查所有機器上的主機名和FQDN,請運行以下命令:

hostname  //should return the hostname 
hostname -f  //Fully Qualified Hostname 
hostname -d  //Domain name 

除了主機名外,RHEL的所有命令都是相同的。

Source1Source2

-1

保持奴隸hosts文件,

127.0.0.1 localhost 

保持主宿主文件

private ip master 
private ip slave1 
private ip slave2