1. 程式人生 > >關於VMWare虛擬機器下搭建hadoop叢集練習各虛擬機器間無法ping通主機名的問題

關於VMWare虛擬機器下搭建hadoop叢集練習各虛擬機器間無法ping通主機名的問題

最近看了點hadoop的視訊教程,看起來好流弊的樣子,於是忍不住動手在VMWare上嘗試著搭下hadoop的叢集環境,然而對於初學者的我,上來就遇到了一個問題。。。

在跟著嘗試做ssh免密碼登入的時候,在虛擬機器間直接ping  ip地址可以ping通,但是ping主機名的時候一直看到180.168.41.175這個坑爹的ip地址,沒有到我繫結主機名的ip上去,折騰了兩天,百度大多數大神說的都是修改/etc/sysconfig/network-script/下的ifcfg-en.....配置、各種修改主機名(只修改/etc/hostname下的主機名等是不夠滴)、修改/etc/hosts配置等等,但始終還是木有解決這個問題。

後來無意間看到一篇文章,原文地址:http://m.blog.csdn.net/blog/chaijunkun_tjsd/23283431

這位大神說到配置物理機的hosts讓我眼前一亮,會不會是物理機充當了各虛擬機器的路由啥的,興許能管用,結果,還真管用。。。

具體步驟如下:

1:按照這位大神VMWare編輯選項下的網路連線配置,將虛擬機器的網路配置為NAT模式,並按照他的說法配好子網

2:將虛擬機器的網路連線方式修改為NAT方式連線

3:進入虛擬機器,獲取虛擬機器當前分配的ip地址

4:進入物理機C:\Windows\System32\drivers\etc\下增加hosts配置如:192.168.1.123 datanode1

5:回到虛擬機器,修改虛擬機器主機名:

 sudo hostnamectl set-hostname "datanode1" hostnamectl status --static hostnamectl status --transient hostnamectl status --pretty 
6:其實主要問題就是物理機的hosts配置,到這裡就可以ping通datanode1了,之前說的那些配置都不用管,但是為啥我還不清楚,如果有大神指導還請指導一下。       然後:(1)在各虛擬機器上ssh-keygen -t dsa                    (2)將namenode節點虛擬機器的id_dsa cp為authorized                   (3) scp authorized_keys
[email protected]
:~/.ssh                   (4)ssh datanode1就可以了,第一次連線會有個提示,需要輸入yes 7:注:我的虛擬機器裝的是centos7,據說6之前的沒有這樣的問題。               以上所說均為我自己亂試得到的結果(額。。。小白一枚~~~),不一定適用於大家的情況,如有不對之處還請留言指教