大數據之Hadoop設置SSH免密登錄

我昨天有寫過一篇《大數據之Linux下搭建HDFS分佈式文件系統》,此篇是接著HDFS的補充。在《大數據之Linux下搭建HDFS分佈式文件系統》一文中,我用的是root搭建HDFS,忘記創建一個新的用戶和介紹開啟SSH免密登錄,在此篇中,將承接HDFS一文來介紹SSH免密登錄的設置。

大數據之Hadoop設置SSH免密登錄

一、創建用戶

#創建一個名為hadoop的用戶
useradd hadoop
#為這個用戶設置密碼
passwd hadoop

二、設置用戶組(為了不麻煩,直接把hadoop設置到root組裡)

#把hadoop添加到root組裡
gpasswd -a hadoop root
#把hadoop移除root組
gpasswd -d hadoop root

三、設置SSH免密登錄

1、非免密的驗證

我們先執行一下非免密之前是怎麼樣的,root切換到hadoop用戶下執行以下命令,會讓你輸入三次密碼,這是非免密登錄

ssh localhost
大數據之Hadoop設置SSH免密登錄

2、免密設置

2.1:生成公私密鑰

我拿剛才創建的用戶做免密測試,執行下面的語句,然後一直回車,如下圖,他將產生公私密鑰,地址/home/hadoop/.ssh

ssh-keygen
大數據之Hadoop設置SSH免密登錄

2.2:免密設置

進入/home/haddop/.ssh目錄下,會看到生成了id_rsa和id_rsa.pub。依次執行下面的命令,最終我們可以看到,再次執行ssh localhost後,不再出現前面我們非免密時候出現的輸入三次密碼。而是直接就訪問成功並且打印出Welcome to Alibaba Cloud Elastic Compute Service !

#進入用戶密鑰目錄
cd home/hadoop/.ssh/
#將公私內容複製到新文檔authorized_keys中,執行完後可以 看到.ssh目錄下增加了一個文檔
cat id_rsa.pub >> authorized_keys
#給authorized_keys設置600權限
chmod 600 authorized_keys
#再次執行免密命令
ssh localhost
大數據之Hadoop設置SSH免密登錄

四、結束語

至此免密操作就完成了,這不只是針對Hadoop要用免密操作,我只是拿這個做例子,在其他需要SSH免密登錄的操作都一樣。另外我前面有提過,在《大數據之Linux下搭建HDFS分佈式文件系統》一文中用的是root賬號操作的,如果先用root賬號操作了,又不想給root設置免密,想讓其他用戶設置免密,也就是切換新的用戶後,HDFS的操作是否會有影響?答應是會的,因為你home下的namenode和datanode文件是root創建的,在你的新用戶下是不能對他寫操作。解決的辦法就是給這兩個文件設置權限,另外一種方法就是暴力一點,直接刪除掉,然後用新用戶再創建這兩個文件。創建後,再進行HDFS格式化,再啟動namenode和datanode。再做後續的測試(創建和查看文件是否成功)。

建議大家結合前面的文章《大數據之Linux下搭建HDFS分佈式文件系統》來讀本篇,以免雲裡霧裡。


分享到:


相關文章: