配置遠程登錄
1) 在自己的linux機上搭好hadoop,詳細過程請參考:http://www.cnblogs.com/stardjyeah/p/4641554.html
2) 修改linux的hosts文件
# vim /etc/hosts
在hosts文件的最下面一行添加,格式為:
第一部份:網絡IP地址。
第二部份:主機名.域名,注意主機名和域名之間有個半角的點。
第二部份:主機名(主機名別名) ,其實就是主機名。
比如:192.168.1.109 hadoop-master.localdomain hadoop-master
當然每行也可以是兩部份,就是主機IP地址和主機名;
比如:192.168.1.109 hadoop-master
3) 修改hadoop下的core-site.xml,yarn-site.xml,mapred-site.xml,hdfs-site.xml
將里面的所有localhost全部改成hadoop-master
4) 重啟linux系統,然后打開所有hdfs和yarn的進程,在另一台機器的瀏覽器上輸入192.168.1.109:8088 192.168.1.109:50070 192.168.1.109:50090看是否能得到對應的頁面(PS:正確頁面在hadoop的安裝配置一文中有),如果有,在進入cmd用telnet指令去聯通以上三個端口,如果都沒問題,則表示配置成功。
5) 如果以上4步都通過了,那么恭喜啦,你就可以開始遠程登陸你的hadoop了,可以用secureCRT來仿真終端,可以用FileZilla來進行文件傳輸等等。
配置遠程調試
1.首先准備好一個hadoop2.x的eclipse插件,具體步驟請參考:http://blog.csdn.net/qingmu0803/article/details/39665147,這個博主用的是eclipse Kepler,而我用的是myeclipse 10,其插件同樣可用。
2.將hadoop解壓到對應的目錄下,並配置好hadoop_home和path(類似jdk的配置),替換hadoop根目錄下的bin文件夾(用來替換的bin文件夾下載鏈接:http://pan.baidu.com/s/1sjupu3N)然后在cmd中輸入hadoop如有以下顯示,則表示成功
3.可能會出的錯誤
在運行的調試過程中有可能會報如下錯誤:
org.apache.hadoop.io.nativeio.NativeIO$Windows. access(NativeIO.java:557)
這應該是hadoop的一個bug,我們先來看看源碼
如果在替換過本地的hadoop/bin文件夾后還報這個錯,那我們只能修改源碼的,即將圖中紅框部分注釋掉,改成return true,並在project根目錄下創建下圖所示的包,並將修改后的類文件考進去
這個文件我已經改過了,下載鏈接為:http://pan.baidu.com/s/18Xdgi
4.正式進入調試階段
遠程調試hadoop-HDFS demo:
http://www.cnblogs.com/stardjyeah/p/4643618.html
遠程調試hadoop-mapreduce demo: