首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Hadoop NameNode 啟動要求輸入 Passphrase 非密碼的解決方法

     編輯:程式設計疑難解答

問題現象

啟動 Hadoop NameNode 時,終端機提示輸入「口令」,輸入系統登入密碼無效,報權限錯誤導致 NameNode 無法啟動。

原因解析

此處的「口令」指的是 SSH 金鑰對的 Passphrase,而非系統使用者密碼。Hadoop 啟動腳本預設使用 SSH 免密登入啟動遠端守護進程,若 SSH 金鑰設定了 Passphrase,則需在啟動時輸入。

解決方案

  1. 輸入正確的 SSH Key Passphrase:即建立 SSH 金鑰時(ssh-keygen)設定的密碼短語。
  2. 建議:設定 SSH 免密鑰登入(生產環境標準做法):
    # 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
  3. 使用 ssh-agent 快取 Passphrase:啟動時執行 eval $(ssh-agent) 並 ssh-add,後續啟動不再提示。

最佳實踐

生產叢集務必配置 無 Passphrase 的 SSH 金鑰,並透過 ~/.ssh/config 設定 StrictHostKeyChecking no,確保 Hadoop 啟動腳本(start-dfs.sh、start-yarn.sh)能全自動無人值守啟動。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved