1. 程式人生 > >Hadoop本地開發,9000埠拒絕訪問

Hadoop本地開發,9000埠拒絕訪問

最近在學習Hadoop,忙了好幾天,終於學會了Hadoop的分散式部署。可是在MyEclipse開發中,總是無法遠端連線到Hadoop叢集的9000埠。今天終於明白哪裡配置錯誤了,在這分享給大家。希望對大家有用。
1、環境說明
hadoop-2.7.3
jdk1.8.0_112
阿里雲 Ubuntu 14.04 64位

2、在配置檔案是我配置的是9000埠。

這裡寫圖片描述
3、MyEclipse連線9000程式碼(需要dfs相關jar包)。
這裡寫圖片描述
4、埠訪問
(1)之前在網上查了許多相關資料,無外乎是設定防火牆,開放9000埠;關閉防火牆;配置檔案換成IP地址;等等。我不能說這些方法不對,至少有些問題確實是防火牆的限制。或者其他,畢竟同一個錯誤,會有許多引發原因。我的這個方法也只是解決一小部分的問題。
首先,利用netstat -tpnl檢視的埠開放情況(之前一直沒留意是這的問題)。
這裡寫圖片描述


而與之相對於的hosts配置檔案為
這裡寫圖片描述
(2)通過檢視埠發現,9000埠只允許本機訪問,我遠端連線當然會提示拒絕訪問了。可能是Hadoop為了保證叢集的安全性,預設的是本叢集之間的訪問,只允許配置的某一個IP訪問吧。於是我想能不能把這個埠放開,允許所以IP訪問。於是我把hosts中的檔案做了下面的修改。
這裡寫圖片描述
將hadoop-master指向的IP地址只想0.0.0.0,然後重啟hadoop檢視端口占用。
這裡寫圖片描述
再用MyEclipse-hadoop外掛,測試連線成功。

這裡寫圖片描述
注:本人剛開始學習Hadoop,說的不對的地方希望大家指正。同時也希望這個方法對大家有用。
另外,這種方法不建議大家在生產環境使用,畢竟任何一個IP地址都可以訪問到你的Hadoop檔案系統。