更新時間:2020-12-22 來源:黑馬程序員 瀏覽量:
通過前面的操作,已經(jīng)完成了三臺虛擬機(jī)Hadoop01、Hadoop02和Hadoop03的安裝和網(wǎng)絡(luò)配置,雖然這些虛擬機(jī)已經(jīng)可以正常使用了,但是依然存在下列問題。
(1)實(shí)際工作中,服務(wù)器被放置在機(jī)房中,同時受到地域和管理的限制,開發(fā)人員通常不會進(jìn)入機(jī)房操作直接上機(jī)操作,而是通過遠(yuǎn)程連接服務(wù)器,進(jìn)行相關(guān)操作。
(2)在集群開發(fā)中,主節(jié)點(diǎn)通常會對集群中各個節(jié)點(diǎn)頻繁的訪問,就需要不斷輸入目標(biāo)服務(wù)器的用戶名和密碼,這種操作方式非常麻煩并且還會影響集群服務(wù)的連續(xù)運(yùn)行。
為了解決上述問題,可以通過配置SSH服務(wù)來分別實(shí)現(xiàn)遠(yuǎn)程登錄和SSH免密登錄功能。接下來,就分別對這兩種服務(wù)配置和說明進(jìn)行詳細(xì)講解。
1.SSH遠(yuǎn)程登錄功能配置
SSH為Secure Shell的縮寫,它是一種網(wǎng)絡(luò)安全協(xié)議,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。通過使用SSH服務(wù),可以把傳輸?shù)臄?shù)據(jù)進(jìn)行加密,有效防止遠(yuǎn)程管理過程中的信息泄露問題。
為了使用SSH服務(wù),服務(wù)器首先必須安裝并開啟相應(yīng)的SSH服務(wù)。在CentOS系統(tǒng)下,可以先執(zhí)行“rpm -qa | grep ssh”指令查看當(dāng)前機(jī)器是否安裝SSH服務(wù),同時使用“ps -e | grep sshd”指令查看SSH服務(wù)是否啟動,如圖1所示。
圖1 查看是否安裝和開啟SSH服務(wù)
從圖1可以看出,CentOS虛擬機(jī)已經(jīng)默認(rèn)安裝并開啟了SSH服務(wù),所以不需要進(jìn)行額外安裝,就可以進(jìn)行遠(yuǎn)程連接訪問(如果沒有安裝,CentOS系統(tǒng)下可以執(zhí)行“yum install openssh-server”指令進(jìn)行安裝)。
在目標(biāo)服務(wù)器已經(jīng)安裝SSH服務(wù),并且支持遠(yuǎn)程連接訪問后,在實(shí)際開發(fā)中,開發(fā)人員通常會通過一個遠(yuǎn)程連接工具來連接訪問目標(biāo)服務(wù)器。本教材就介紹一個實(shí)際開發(fā)中常用的SecureCRT遠(yuǎn)程連接工具來演示遠(yuǎn)程服務(wù)器的連接和使用。
SecureCRT是一款支持SSH的終端仿真程序,它能夠在Windows操作系統(tǒng)上遠(yuǎn)程連接Linux服務(wù)器執(zhí)行操作。本書采用SecureCRT 7.2版本進(jìn)行介紹說明,讀者可以通過地址 https://www.vandyke.com/download/securecrt/7.2/index.html,自行下載安裝。下載安裝完成后,按照以下操作進(jìn)行遠(yuǎn)程連接訪問。
(1)打開SecureCRT遠(yuǎn)程連接工具,單擊導(dǎo)航欄上的【File(文件)】à【Quick Connect(快速連接)】創(chuàng)建快速連接,并根據(jù)虛擬機(jī)的配置信息進(jìn)行設(shè)置,如圖2所示。
圖2 創(chuàng)建快速鏈接
在圖2所示的快速連接設(shè)置中,主要是根據(jù)要連接遠(yuǎn)程服務(wù)器設(shè)置了目標(biāo)主機(jī)名為192.168.121.134(即Hadoop01虛擬機(jī)的IP地址)和登錄用戶root,而其他相關(guān)設(shè)置通常情況下使用默認(rèn)值即可。
(2)設(shè)置完快速連接配置后,單擊圖2中的“Connect(連接)”按鈕,會彈出“New Host Key(新建主機(jī)秘鑰)”對話框(主要用于秘鑰信息發(fā)送確認(rèn)),如圖3所示。
圖3 秘鑰信息發(fā)送確認(rèn)
(3)單擊圖4中的“Accept&Save(接收并保存)”按鈕。保存完畢后,客戶端需要輸入目標(biāo)服務(wù)器的用戶名和密碼,并且可以勾選“Save password(保存密碼)”按鈕,避免下次連接重復(fù)要求輸入密碼,如圖4所示。
圖4 輸入用戶名密碼
(4)在圖5中輸入正確的用戶名和密碼后,單擊“OK(確定)”按鈕,SecureCRT遠(yuǎn)程連接工具就會自動連接到遠(yuǎn)程目標(biāo)服務(wù)器,如圖5所示。
圖5 SecureCRT遠(yuǎn)程連接到Hadoop01服務(wù)器
進(jìn)入到圖6所示界面,就表示通過SecureCRT遠(yuǎn)程連接服務(wù)器成功,后續(xù)就可以像在虛擬機(jī)終端窗口一樣,也可以在該工具客戶端上操作虛擬機(jī)。
2.SSH免密登錄功能配置
前面介紹了SSH服務(wù),并實(shí)現(xiàn)了遠(yuǎn)程登錄功能,而想要實(shí)現(xiàn)多臺服務(wù)器之間的免密登錄功能還需要進(jìn)一步設(shè)置。下面就詳細(xì)講解如何配置SSH免密登錄,具體如下。
(1)在需要進(jìn)行統(tǒng)一管理的虛擬機(jī)上(例如后續(xù)會作為Hadoop集群主節(jié)點(diǎn)的Hadoop01)輸入“ssh-keygen -t rsa”指令,并根據(jù)提示,可以不用輸入任何內(nèi)容,連續(xù)按四次Enter鍵確認(rèn),接著就會在當(dāng)前虛擬機(jī)的root目錄下生成一個包含有秘鑰文件的.ssh隱藏文件。在虛擬機(jī)的root目錄下通過“l(fā)l -a”指令可以查看當(dāng)前目錄下的所有文件(包括隱藏文件),然后進(jìn)入到.ssh隱藏目錄,查看當(dāng)前目錄的文件,如圖6所示。
圖6 .ssh目錄文件
在圖6中,.ssh隱藏目錄下的id_rsa就是生成的Hadoop01私鑰,id_rsa.pub為公鑰。
(2)在生成秘鑰文件的虛擬機(jī)Hadoop01上,執(zhí)行相關(guān)指令將公鑰拷貝到需要關(guān)聯(lián)的服務(wù)器上(包括本機(jī))。例如執(zhí)行“ssh-copy-id hadoop02”指令可以將公鑰文件拷貝到主機(jī)名為hadoop02的虛擬機(jī)上(拷貝到其他服務(wù)器指令只需修改主機(jī)名即可),如圖7所示。
圖7 驗(yàn)證免密登錄
從圖7可以看出,在hadoop01主機(jī)上生成的公鑰拷貝到了hadoop02主機(jī)上并自動重命名為authorized_keys。當(dāng)在hadoop01主機(jī)上輸入“ssh hadoop02”指令訪問hadoop02主機(jī)時就不再需要輸入密碼了。
需要說明的是,上述步驟只是演示了在主機(jī)名為hadoop01的機(jī)器上生成秘鑰文件,并將公鑰拷貝到hadoop02主機(jī)上,實(shí)現(xiàn)了hadoop01到hadoop02的單向免密登錄。而本教材后續(xù)將使用前面安裝的主機(jī)名為hadoop01、hadoop02和hadoop03主機(jī)進(jìn)行Hadoop集群搭建,因此,還需要在所有機(jī)器上進(jìn)行上述操作。
猜你喜歡