在CentOS上運行HDFS(Hadoop分布式文件系統)涉及多個步驟,包括安裝Hadoop、配置環境變量、格式化NameNode、啟動HDFS服務等。以下是一個基本的指南:
首先,確保你的系統上已經安裝了Java環境。你可以使用以下命令來安裝OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel
從Apache Hadoop官方網站下載適合你系統的Hadoop版本,并解壓到指定目錄。例如,下載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
文件,添加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
core-site.xml
在 HADOOP_HOME/etc/hadoop/
目錄下編輯 core-site.xml
文件,添加以下內容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
hdfs-site.xml
在 HADOOP_HOME/etc/hadoop/
目錄下編輯 hdfs-site.xml
文件,添加以下內容:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/path/to/namenode/dir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/path/to/datanode/dir</value>
</property>
</configuration>
確保 dfs.namenode.name.dir
和 dfs.datanode.data.dir
指向的目錄存在并且Hadoop有權限訪問這些目錄。
在首次啟動HDFS之前,你需要對NameNode進行格式化:
hdfs namenode -format
在NameNode節點上啟動HDFS集群:
start-dfs.sh
打開瀏覽器并訪問 http://namenode:50070
(或者如果你更改了默認端口,請使用相應的端口號),這將顯示HDFS的狀態頁面,你可以在這里查看集群的狀態和各個組件的健康狀況。
確保防火墻允許Hadoop所需的端口。例如:
sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp
sudo firewall-cmd --permanent --zone=public --add-port=50070/tcp
sudo firewall-cmd --reload
為了方便集群管理,你可以配置SSH無密碼登錄:
ssh-keygen -t rsa
ssh-copy-id hadoop@namenode
對于生產環境,建議配置HDFS的高可用性。這涉及到配置ZooKeeper和設置HDFS的HA屬性。具體步驟可以參考Hadoop官方文檔。