如果需要namenode直接登錄其他node不用輸入密碼,需要進行免密設置
我們假設有namenode、node1、node2、node3:
1. 在namenode機器上執行命令:
ssh-keygen -t rsa (或者 ssh-keygen -t dsa )
一直回車後,該命令會在 ~/.ssh/ 目錄下生成公鑰文件: id_rsa.pub 。
2. 把這個公鑰文件複製到其他虛擬機的對應位置。
在namenode上執行復制命令,複製公鑰文件分別到namenode、node1、node2、node3 機器上,並且文件名稱改爲 authorized_keys,這裏以複製到node1爲例子:
方法1: scp ~/.ssh/id_rsd.pub root@node1:/root/.ssh/authorized_keys
或者先複製到node1,再修改也可以
方法2: scp /root/.ssh/id_rsd.pub node1:/tmp
cat /tmp/id_rsd.pub >> /root/.ssh/authorized_keys
注意:~ 和 /root 都表示根目錄的意思,這兩種寫法是一樣的。
node1是主機名稱,可以改成主機的IP地址也是一樣的,但必須在/etc/hosts文件中配置對應映射。
3. 按照操作2,分別把公鑰文件複製到namenode、node2,node3 。。。等需要免密登錄的機器上。
4. 然後再namenode上使用 ssh登錄其他機器測試:
ssh root@node2 回車
或者
ssh node2 回車