- Hadoop大數據技術開發實戰
- 張偉洋
- 882字
- 2020-03-06 11:48:36
3.4.2 無密鑰登錄操作步驟
Hadoop集群需要確保在每一個節點上都能無密鑰登錄到其他節點。
本例在第2章的基礎上繼續使用hadoop用戶進行操作,使用三個節點(centos01、centos02和centos03)配置無密鑰登錄,無密鑰登錄架構如圖3-7所示。

圖3-7 無密鑰登錄架構
具體配置方式有兩種:手動復制和命令復制,下面分別進行講解。
1. 手動復制方式
(1)將各節點的公鑰加入到同一個授權文件中。
1)在centos01節點中,生成密鑰文件,并將公鑰信息加入到授權文件中,所需命令如下:

其中.ssh文件夾為系統隱藏文件夾,若無此目錄,可以執行一次ssh localhost命令,則會生成該目錄。或者直接手動創建該目錄。
2)在centos02節點中,生成密鑰文件,并將公鑰文件遠程復制到centos01節點的相同目錄,且重命名為id_rsa.pub.centos02,相關命令如下:

3)在centos03節點中,執行與centos02相同的操作(生成密鑰文件,并將公鑰文件遠程復制到centos01節點的相同目錄,且重命名為id_rsa.pub.centos03),相關命令如下:

4)回到centos01節點,將centos02和centos03節點的密鑰文件信息都加入到授權文件中,相關命令如下:

(2)復制授權文件到各個節點。
將centos01節點中的授權文件遠程復制到其他節點的相同目錄,命令如下:

(3)測試無密鑰登錄。
接下來可以使用ssh命令測試從一個節點無密鑰登錄到另一個節點。例如,從centos01節點無密鑰登錄到centos02節點,命令如下:

成功登錄后,記得執行exit命令退出登錄。
如果登錄失敗,可能的原因是授權文件authorized_keys權限分配問題,分別在每個節點上執行以下命令,更改文件權限:

到此,各節點的SSH無密鑰登錄就配置完成了。
2. 命令復制方式
ssh-copy-id命令可以把本地主機的公鑰復制并追加到遠程主機的authorized_keys文件中,該命令也會給遠程主機的用戶主目錄(home)、~/.ssh目錄和~/.ssh/authorized_keys設置合適的權限。
(1)分別在三個節點中執行以下命令,生成密鑰文件:

(2)分別在三個節點中執行以下命令,將公鑰信息復制并追加到對方節點的授權文件authorized_keys中:

命令執行過程中需要輸入當前用戶的密碼。
(3)測試SSH無密鑰登錄。
仍然使用ssh命令進行測試登錄即可。具體見本節手動復制方式的步驟(3)。
注意
如果不配置無密鑰登錄,Hadoop集群也是可以正常運行的,只是每次啟動Hadoop都要輸入密碼以登錄到每臺計算機的DataNode(存儲數據的節點)上,而一般的Hadoop集群動輒數百甚至上千臺計算機,因此配置SSH無密鑰登錄是必要的。
- Mastering Ninject for Dependency Injection
- Visual Studio 2015 Cookbook(Second Edition)
- 卷積神經網絡的Python實現
- Python數據分析、挖掘與可視化從入門到精通
- 工業大數據分析算法實戰
- MySQL從入門到精通(第3版)
- 數據庫原理與應用(Oracle版)
- LabVIEW 完全自學手冊
- Solaris操作系統原理實驗教程
- Visual Studio 2013 and .NET 4.5 Expert Cookbook
- Access數據庫開發從入門到精通
- 利用Python進行數據分析(原書第2版)
- Scratch 2.0 Game Development HOTSHOT
- 數據庫基礎與應用
- Trino權威指南(原書第2版)