hadoop集群環(huán)境需要互相登錄到集群中的機器糊肤,一般的我們需要有一個賬戶hadoop用于登錄集群中的其它機器
涉及到ssh免密碼登錄相關巴席。開始之前最好將服務器名稱漾峡,/etc/hosts等都修改下竹握。
修改服務器名稱
hostnamectl set-hostname ? #這種方式永久生效
hostname ? #臨時生效
linux免密碼登錄
遠程登錄安全協(xié)議的兩種驗證機制:
1? 用戶名+密碼的登錄驗證方式 :ssh
2? 密鑰驗證
server A免登錄到server B:?
1.在A上生成公鑰私鑰葱淳。?
2.將公鑰拷貝給server B,要重命名成authorized_keys(從英文名就知道含義了)?
3.Server A向Server B發(fā)送一個連接請求谦铃。?
4.Server B得到Server A的信息后耘成,在authorized_key中查找,如果有相應的用戶名和IP荷辕,則隨機生成一個字符串凿跳,并用Server A的公鑰加密,發(fā)送給Server A疮方。?
5.Server A得到Server B發(fā)來的消息后控嗜,使用私鑰進行解密,然后將解密后的字符串發(fā)送給Server B骡显。Server B進行和生成的對比疆栏,如果一致,則允許免登錄惫谤。?
總之:A要免密碼登錄到B壁顶,B首先要擁有A的公鑰,然后B要做一次加密驗證溜歪。對于非對稱加密若专,公鑰加密的密文不能公鑰解開,只能私鑰解開蝴猪。
生成公/私鑰? ssh-keygen -t rsa? #在當前用戶home目錄下的.ssh下出現(xiàn)id_rsa(私鑰) id_rsa.pub(公鑰) 然后將公鑰復制到被登錄機的.ssh/authorized_keys文件中
ssh-copy-iduser@hostname# user為登錄目的機的用戶名调衰,hostname為目的機的域名
#參考man ssh-copy-id
普通用戶加入root組
usermod -g root username
# /etc/sudoers 下可配置以超級用戶權限操作命令
username ALL=(ALL) ALL