三臺虛擬機(IP):node
修改三臺主機名,以此類推,node1,node3,node3dom
命令格式ssh
hostnamectl set-hostname <hostname>
sudo hostnamectl set-hostname node1
剩下的虛擬機依次修改hostnamectl set-hostname[1-3]
ide
重啓操做系統oop
$ reboot
1.在 node1 的 /etc/hosts
文件下添加以下內容測試
su hadoop vi /etc/hosts
2.查看修改後的/etc/hosts
文件內容spa
$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # 如下是添加的 192.168.252.121 node1 192.168.252.122 node2 192.168.252.123 node3
2.將集羣node1 上的文件hosts
文件 經過 scp
命令複製發送到集羣的每個節點操作系統
for a in {1..3} ; do sudo scp /etc/hosts hadoop@node$a:/etc/hosts ; done
3.檢查是否集羣每個節點的 hosts
文件都已經修改過來了rest
for a in {1..3} ; do sudo ssh hadoop@node$a cat /etc/hosts ; done
1.在集羣node1的 /etc/ssh/sshd_config
文件去掉如下選項的註釋code
sudo vi /etc/ssh/sshd_config
RSAAuthentication yes #開啓私鑰驗證 PubkeyAuthentication yes #開啓公鑰驗證
2.將集羣node1 修改後的 /etc/ssh/sshd_config
經過 scp
命令複製發送到集羣的每個節點
for a in {1..3} ; do sudo scp /etc/ssh/sshd_config hadoop@node$a:/etc/ssh/sshd_config ; done
1.在集羣的每個節點節點輸入命令 ssh-keygen -t rsa -P ''
,生成 key,一概回車
ssh-keygen -t rsa -P ''
Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Created directory '/home/hadoop/.ssh'. Your identification has been saved in /home/hadoop/.ssh/id_rsa. Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. The key fingerprint is: aa:be:0e:46:9a:e8:d5:dc:79:ea:5a:b8:9b:08:e2:dd hadoop@node2 The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | | | . S | |.+ o o.. | |=.o. +.+ . | |+.+.o.+ o | | o ==E+o | +-----------------+
2.在集羣的node1 節點輸入命令
將集羣每個節點的公鑰id_rsa.pub
放入到本身的認證文件中authorized_keys
;
for a in {1..3}; do sudo ssh hadoop@node$a cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys; done
3.在集羣的node1 節點輸入命令
將本身的認證文件 authorized_keys
經過
scp 命令複製發送到每個節點上去:
/home/hadoop/.ssh/authorized_keys`
for a in {1..3}; do sudo scp /home/hadoop/.ssh/authorized_keys hadoop@node$a:/home/hadoop/.ssh/authorized_keys ; done
4.非ROOT 用戶需賦權限
chmod 700 /home/hadoop/.ssh/ chmod 700 /home/hadoop/ chmod 600 /home/hadoop/.ssh/authorized_keys
5.在集羣的每個節點節點輸入命令
接重啓ssh服務
sudo systemctl restart sshd.service
開一個其餘窗口測試下可否免密登錄
例如:在node3
ssh hadoop@node2
exit
退出
[hadoop@node1 ~]# exit logout Connection to node1 closed.
注意:開新的其餘窗口測試下可否免密登錄,把當前窗口都關了