啟動 Hadoop NameNode 時,終端機提示輸入「口令」,輸入系統登入密碼無效,報權限錯誤導致 NameNode 無法啟動。
此處的「口令」指的是 SSH 金鑰對的 Passphrase,而非系統使用者密碼。Hadoop 啟動腳本預設使用 SSH 免密登入啟動遠端守護進程,若 SSH 金鑰設定了 Passphrase,則需在啟動時輸入。
ssh-keygen)設定的密碼短語。# 1. 產生無密碼金鑰對
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# 2. 將公鑰加入授權
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 3. 測試免密登入
ssh localhost
eval $(ssh-agent) 並 ssh-add,後續啟動不再提示。生產叢集務必配置 無 Passphrase 的 SSH 金鑰,並透過 ~/.ssh/config 設定 StrictHostKeyChecking no,確保 Hadoop 啟動腳本(start-dfs.sh、start-yarn.sh)能全自動無人值守啟動。