在centos系統上部署hadoop分布式文件系統(hdfs)的完整指南。
準備工作
-
Java環境安裝: Hadoop依賴Java運行環境。請確保已安裝合適的Java版本 (建議Java 8)。使用以下命令安裝OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel
-
Hadoop下載與解壓: 從apache Hadoop官網下載對應版本的Hadoop發行包,并解壓到指定目錄 (例如/opt)。 以下命令以Hadoop 3.3.1為例:
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -xzvf hadoop-3.3.1.tar.gz -C /opt
-
環境變量配置: 編輯/etc/profile.d/hadoop.sh文件,設置Hadoop環境變量。 請根據實際路徑調整:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export HADOOP_HOME=/opt/hadoop-3.3.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存文件后,運行 source /etc/profile.d/hadoop.sh 使配置生效。
-
Hadoop核心配置文件配置: 需要配置 core-site.xml, hdfs-site.xml, mapred-site.xml, 和 yarn-site.xml 等核心配置文件。 (具體配置內容需根據集群環境調整,請參考Hadoop官方文檔)。
HDFS啟動
-
NameNode格式化 (首次啟動): 首次啟動HDFS前,必須格式化NameNode。
hdfs namenode -format
-
啟動HDFS集群: 使用以下命令啟動整個HDFS集群:
start-dfs.sh
HDFS狀態驗證
-
NameNode狀態檢查: 使用以下命令查看NameNode狀態及集群信息:
hdfs dfsadmin -report
-
Web ui訪問: 通過瀏覽器訪問以下地址查看HDFS的Web界面:
- NameNode Web UI: http://
:50070 - ResourceManager Web UI: http://
:8088 (如果適用)
- NameNode Web UI: http://
疑難解答
-
權限問題: 確保Hadoop用戶擁有Hadoop安裝目錄的正確權限。
chown -R hadoop:hadoop /opt/hadoop-3.3.1
-
防火墻配置: 確保防火墻允許Hadoop使用的端口 (50070, 8088等)。
sudo firewall-cmd --permanent --zone=public --add-port=50070/tcp sudo firewall-cmd --permanent --zone=public --add-port=8088/tcp sudo firewall-cmd --reload
-
SElinux: 如果啟用了SELinux,可能需要臨時禁用或調整SELinux策略。 (不推薦永久禁用SELinux)。
setenforce 0 # 臨時禁用SELinux (重啟后失效)
完成以上步驟后,您應該可以在centos上成功啟動并運行HDFS。 如有任何問題,請參考Hadoop官方文檔尋求幫助。