hadoop主機設置免密
環境設置
需要三台或三台以上的主機
並修改主機名分別為:master,slave1,slave2
hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
配置網絡(配置均在同一網段),並分別修改主機配置文件"/etc/hosts"
#配置網絡為基礎設置,此處省略,此處實驗三台主機IP為:
master 192.168.10.10/24
slave1 192.168.10.20/24
slave2 192.168.10.30/24
#配置"/etc/hosts"域名解析 三台都需配置域名解析
vim /etc/hosts
寫入:
192.168.10.10 master
192.168.10.20 slave1
192.168.10.30 slave2
保存退出
#三個文件配置完成之后需要互相ping一下看看是否能通,通則可,否則檢查配置文件及相關配置
ping master
ping slave1
ping slave2
生成ssh密鑰
每個節點安裝和啟動 SSH 協議
實現 SSH 登錄需要 openssh 和 rsync 兩個服務,一般情況下默認已經安裝,可以通過下面命令查看結果:
創建用戶hadoop(三台均需創建)
命令為:
配置ssh服務配置文件,開啟公鑰登錄功能(三台均需執行)
使用 root用戶登錄,修改 SSH配置文件"/etc/ssh/sshd_config"的下列內容,需要將PubkeyAuthentication yes前面的#號刪除,啟用公鑰私鑰配對認證方式。
vim /etc/ssh/sshd_config
去掉#號
systemctl restart sshd #修改配置文件需要重啟
切換到hadoop用戶並生成密鑰對(三台均需執行)
-
在master節點上生成密鑰
-
在slave1節點上生成密鑰
-
在slave2節點上生成密鑰
查看"/home/hadoop/"下是否有".ssh"文件夾,且".ssh"文件下是否有兩個剛生產的無密碼密鑰對。
將 id_rsa.pub追加到授權key文件中(三台均需執行)
-
master節點
-
slave1節點
-
slave2節點
修改文件"authorized_keys"權限(三台均需執行)
注意:通過 ll命令查看,可以看到修改后 authorized_keys文件的權限為“rw-------”,表示所有者可讀寫,其他用戶沒有訪問權限。如果該文件權限太大,ssh服務會拒絕工作,出現無法通過密鑰文件進行登錄認證的情況。
文件權限: .ssh 700 | id_rsa 600 | id_rsa.pub 644
-
master
-
slave1
-
slave2
驗證ssh登錄本機(三台均需執行)
在 hadoop用戶下驗證能否嵌套登錄本機,若可以不輸入密碼登錄,則本機通過密鑰登錄認證成功。
首次登錄時會提示系統無法確認 host主機的真實性,只知道它的公鑰指紋,詢問用戶是否還想繼續連接。需要輸入“yes”,表示繼續登錄。第二次再登錄同一個主機就不會再出現該提示,可以直接進行登錄。
-
master
-
slave1
-
slave2
交換ssh密鑰
將master節點公鑰復制到每個slave節點
將 Master 節點的公鑰 id_rsa.pub 復制到每個 Slave 點hadoop用戶登錄,通過 scp命令實現密鑰拷貝。
首次遠程連接時系統會詢問用戶是否要繼續連接。需要輸入“yes”,表示繼續。因為目前尚未完成密鑰認證的配置,所以使用 scp命令拷貝文件需要輸入 slave1節點 hadoop用戶的密碼。
- master
在slave節點上將公鑰復制到文件里
在每個 Slave節點把 Master節點復制的公鑰復制到 authorized_keys文件
使用hadoop用戶登錄 slave1和 slave2節點,執行命令。
-
slave1
-
slave2
將每個 Slave節點的公鑰保存到 Master
-
slave1
-
slave2
在 Master節點把從 Slave節點復制的公鑰復制到 authorized_keys文件
驗證 SSH 無密碼登錄
-
查看 Master 節點 authorized_keys 文件
可以看到 Master節點 authorized_keys文件中包括 master、slave1、slave2三節點的公鑰。
-
驗證 Master到每個 Slave節點無密碼登錄
hadoop用戶登錄 master節點,執行 SSH命令登錄 slave1和 slave2節點。可以觀到不需要輸入密碼即可實現 SSH登錄。
-
驗證兩個 Slave節點到 Master節點無密碼登錄