1.啟動hadoop之前,ssh免密登錄slave主機正常,使用命令start-all.sh啟動hadoop時,需要輸入slave主機的密碼,說明ssh文件許可權有問題,需要執行以下操作: 1)進入.ssh目錄下查看是否有公鑰私鑰文件authorized_keys、id_rsa、id_rsa.pub ...
1.啟動hadoop之前,ssh免密登錄slave主機正常,使用命令start-all.sh啟動hadoop時,需要輸入slave主機的密碼,說明ssh文件許可權有問題,需要執行以下操作:
1)進入.ssh目錄下查看是否有公鑰私鑰文件authorized_keys、id_rsa、id_rsa.pub
2)如果沒有公鑰私鑰文件,則執行ssh-keygen -t rsa生成秘鑰(master主機和slave主機都需要執行)
3)公鑰私鑰文件生成完成後,執行cat id_rsa.pub >> authorized_keys,將生成的公鑰添加到認證文件中
4)將slave伺服器公鑰寫入master伺服器authorized_keys文件中
[root@master ~]# ssh-copy-id -i slave01
[root@master ~]# ssh-copy-id -i slave02
5)登錄slave伺服器(ssh slave01),看是否需要輸入密碼,如果仍然需要輸入密碼,說明uthorized_keys文件許可權有問題,則執行下一步
6)使用ssh -vvv slave01 調試命令,進入到slave01調試界面
7)設置authorized_keys文件許可權為600,chmod 600 ~/.ssh/authorized_keys
8)同理,slave01也要同樣進行設置,在master主機的終端中繼續執行步驟6和步驟7中的命令
9)設置完成後在master主機中,登錄slave01和slave02,如果不需要輸入密碼,則配置完成
10)停止hadoop的所有進程:stop-all.sh
11)重新啟動hadoop:start-all.sh
2.啟動hadoop之後,使用jps查看,master伺服器中沒有namenode服務,解決方案如下:
1)首先停止hadoop的所有進程:stop-all.sh
2)格式化namenode:hdfs namenode -format
3)重新啟動hadoop:start-all.sh
4)輸入jps查看,可以看到namenode進程
3.啟動hadoop之後,使用jps查看,slave伺服器中沒有datanode服務,解決方案如下:
1)首先停止hadoop的所有進程:stop-all.sh
2)進入hadoop安裝目錄下:/software/hadoop中刪除hadoopdate文件夾
3)進入hadoop安裝目錄下:/software/hadoop中的hadoop-2.7.3文件夾中刪除logs文件夾
4)在slave01主機和slave02主機的終端執行步驟2和步驟3,確保步驟2和步驟3的文件夾都刪除乾凈
5)格式化namenode:hdfs namenode -format
6)重新啟動hadoop:start-all.sh
7)在slave01主機和slave02主機的終端輸入jps查看,可以看到datanode進程
以上均是個人在搭建環境實戰中遇到的問題,以及有效的解決方法,希望能幫到大家。
有興趣的朋友也可以一起交流探討。