Ubuntu環境下配置HDFS的前提條件
需使用兼容的Linux發行版(推薦Ubuntu 20.04及以上版本),確保系統內核穩定,支持Hadoop的分布式計算框架。
Hadoop基于Java開發,必須提前安裝JDK(推薦OpenJDK 8或11,Hadoop 3.x版本支持JDK 11)。安裝后需配置JAVA_HOME環境變量(指向JDK安裝路徑),并添加至系統PATH中,驗證java -version能正確顯示版本信息。
從Apache Hadoop官方網站下載穩定版本的安裝包(如3.3.6),解壓至Ubuntu系統的指定目錄(如/usr/local/hadoop),并設置合適的目錄權限(建議歸屬hadoop用戶或當前用戶)。
Hadoop集群管理(如NameNode與DataNode通信、Secondary NameNode同步)依賴SSH。需在所有節點(尤其是主節點)生成RSA密鑰對(ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa),并將公鑰(id_rsa.pub)追加至~/.ssh/authorized_keys文件中,設置文件權限為0600,實現主節點到自身及其他節點的無密碼登錄。
所有參與HDFS的節點(主節點、DataNode)必須在同一子網內,且能通過IP地址互相訪問??赏ㄟ^ping命令測試節點間連通性,避免因網絡隔離導致通信失敗。
若系統啟用了防火墻(如ufw),需放行Hadoop關鍵端口(如NameNode默認端口9000、HDFS Web界面50070、YARN ResourceManager端口8088等),避免端口被攔截導致服務無法啟動。
集群節點間的時間差過大會導致心跳檢測失?。∟ameNode無法識別DataNode狀態)。建議安裝ntpd或chrony服務,同步所有節點的系統時間(如sudo apt install ntp并配置/etc/ntp.conf)。
需提前創建HDFS數據存儲目錄(如NameNode的dfs.namenode.name.dir、DataNode的dfs.datanode.data.dir),并設置正確的歸屬權限(建議歸屬hadoop用戶或當前用戶),避免因權限不足導致數據寫入失敗。