VMware虛擬機中Hadoop服務的端口無法訪問的問題


今天安裝了一個hadoop集群,因為已經在單個虛擬機上安裝成功,所以初期安裝相對順利。

初始環境如下:

      通過Vmware Esxi服務器虛擬機出來四台機器,每台機器的網絡配置如下:

       master:10.10.50.241

       node1:10.10.50.242

       node2:10.10.50.243

       node3:10.10.50.244

 

本機筆記本電腦:10.10.50.239(模擬遠端訪問控制)。

 

問題描述:

Hadoop啟動之后,發現遇到一個奇怪的問題:

1.主機中配置好的hadoop啟動之后,在namenode所在的虛擬機中,通過瀏覽器訪問:http://127.0.0.1:8088 或者http://master:8088 能夠訪問控制台。通過http://10.10.50.241:8088訪問控制台,顯示不能連接。

2.在筆記本上連接:http://10.10.50.241:8088,顯示不能連接。

3.通過查找日志:發現datanode的日志中提示:訪問10.10.50.241:8020不能訪問.

 

排查步驟:

  1.首先,各個虛擬機和客戶端之前都能ping通,虛擬機都能上外網,說明網絡沒有問題。

  2.各個虛擬機自己的防火牆已經關閉。

  3.通過筆記本telnet遠端機器:發現 telnet 10.10.50.241 22可以,telnet 10.10.50.241 8088不行。懷疑是不是需要關閉Vmware Esxi的防火牆呢?

查找在Esxi中關閉防火牆的方法:

運行:#esxcli network firewall set –enabled false

參考:

 http://2790010.blog.51cto.com/2780010/1154143

執行完成之后,重啟Esxi,發現不起作用。

3.那是不是端口有問題,通過命令#netstat –tpnl

image

發現監聽都配置在:127.0.0.1 結合可以通過可以通過:127.0.0.1:8088可以訪問考慮,是不是這個地址改成10.10.50.241就可以了?

因為所有hadoop內部配置的都是hostname,所以有兩種方法:

1.將hadoop中所有的hostname改成IP的方式。

2.修改linux的設置,將hostname映射地址改為:10.10.50.241

研究第二種方式,排查發現:hostname –i 命令顯示的IP為:

#hostname –i

127.0.0.1 10.10.50.241

所以,在master中,實驗將/etc/hosts中的127.0.0.1 master去掉,運行發現:

image

發現部分端口已經改正,還有部分端口沒有改正過來。

將各個數據節點中/etc/hosts中的127.0.0.1 node[x]去掉,重新啟動hadoop發現:

image

此時:通過在筆記本上訪問:http://10.10.50.241:8088已經可以,問題解決。

 

 

另外一個問題:

  通過訪問:http://10.10.50.241:50070/dfshealth.jsp 中選擇Browse the filesystem選項時發現找不到頁面,觀察URL,http://node3:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/&nnaddr=10.10.50.241:8020

 

因此:在筆記本上的hosts目錄中添加hadoop集群的相關host配置,問題解決。



作者: sdjnzqr
出處: http://www.cnblogs.com/sdjnzqr/
版權:本文版權歸作者和博客園共有
轉載:歡迎轉載,但未經作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM