1. 程式人生 > >Ambari搭建Hadoop叢集之配置SSH免密登入

Ambari搭建Hadoop叢集之配置SSH免密登入

Ambari搭建Hadoop叢集時為了實現叢集之間的主機進行快速的聯機,我們需要對叢集的虛擬機器進行免密登入配置。下面來說說具體步驟。

前提:3臺虛擬機器。

1.修改主機名

a)首先root許可權下分別對3臺虛擬機器進行修改。修改的命令如下:

sudo hostnamectl set-hostname node1

我這裡是把3臺主機名分別修改為node1、node2、node3。

修改完成後可以用指令  hostname 查詢當前主機名確認修改成功。

b)分別在3臺虛擬機器上編輯  /etc/hosts  檔案,新增IP和主機名(每一臺都要加這三行,別忘了加自己)

192.169.XX.XX node1

192.169.XX.XX node2

192.169.XX.XX node3

儲存並退出(這裡簡單的指令就不貼出來了)。這裡的目的是實現3臺虛擬機器之間的互聯,並且縮短了它們在連線時解析主機名的時間。

2.生成金鑰

首先分別在各節點執行指令: ssh-keygen  ,然後一直按回車鍵直到結束。此時你可以發現在 /root/.ssh/ 資料夾下生成了id_rsa(私鑰) 、 id_rsa.pub (公鑰),這是生成的祕鑰對。

3.公鑰分享

把自己的公鑰傳送給其它節點,包括自己。指令如下:

ssh-copy-id node1

ssh-copy-id node2

ssh-copy-id node3

在每一臺虛擬機器上執行上面三條命令後,你可以發現每一臺虛擬機器的  /root/.ssh/  資料夾下又多了一個檔案  authorized_key,這個檔案類似於一個’白名單‘,只要這臺虛擬機器的白名單上有你的公鑰資訊,你就可以免密登入這臺虛擬機器。所以cat這個檔案你可以看到,需要配置免密的3臺虛擬機器的公鑰(包括自己的)都已經追加到這個檔案中了。

到這裡,ssh 免密登入的配置完成,你可以登入任意一臺虛擬機器,然後通過 ssh 命令任意登入到其他虛擬機器上。