搭建Hadoop集群,需要通過ssh命令遠程登錄Linux主機。免密登錄就成為了必要的准備工作,這樣可以規避掉每次輸入密碼的繁瑣工作,讓集群管理方便高效。免密登錄的設置方法有多種,本文列舉的只是其一,且親測有效:
1. 運行多個節點
本例運行3個節點作為演示,分別為hadoop1、hadoop2、hadoop3,其中hadoop1為主節點
2. 生成公私鑰對
在hadoop1節點登陸hadoop用戶,執行"ssh-keygen"命令;
接下來出現3個需要確認的位置(如箭頭所示),一路回車;
在/home/hadoop/.ssh路徑下,已經生成了公私鑰對,分別為id_rsa(私鑰)、id_rsa.pub(公鑰);
執行"cat ./id_rsa.pub >> authorized_keys",將公鑰文本復制到一個新的文件"authorized_keys";
3. 傳遞給其他節點
執行"ssh-copy-id"命令,后面的ip是hadoop2的地址,同理,傳遞給hadoop3就換成對應的地址,以此類推;
然后輸入hadoop2的密碼,該密碼需要提前設置,執行"passwd hadoop2"即可,以此類推;
最后,在同樣的.ssh路徑下,就會看到傳遞過來的authorized_keys,和hadoop1的文本內容完全一致;
4. 驗證
按照系統提示,執行"ssh hadoop02",如果不提示輸入密碼就正常登錄,說明免密設置成功。
其他節點的免密設置如法炮制即可。