在Linux上配置HDFS(Hadoop Distributed File System)集群涉及多個步驟,包括安裝Hadoop、配置Hadoop環境變量、設置HDFS相關配置文件以及啟動HDFS集群。以下是一個基本的步驟指南:
首先,從Apache Hadoop官方網站下載最新版本的Hadoop。
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
將下載的文件解壓到指定目錄。
tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/
編輯/etc/profile或~/.bashrc文件,添加以下內容:
export HADOOP_HOME=/usr/local/hadoop-3.3.4
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>/usr/local/hadoop-3.3.4/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop-3.3.4/data/datanode</value>
</property>
</configuration>
yarn-site.xml編輯$HADOOP_HOME/etc/hadoop/yarn-site.xml文件,添加以下內容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml編輯$HADOOP_HOME/etc/hadoop/mapred-site.xml文件,添加以下內容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
在NameNode節點上執行以下命令格式化HDFS:
hdfs namenode -format
在NameNode節點上執行以下命令啟動NameNode:
start-dfs.sh
在ResourceManager節點上執行以下命令啟動YARN:
start-yarn.sh
訪問ResourceManager Web界面(通常是http://<resourcemanager-host>:8088)和NameNode Web界面(通常是http://<namenode-host>:50070)來驗證集群狀態。
為了方便集群管理,建議配置SSH無密碼登錄。在所有節點上生成SSH密鑰并分發到其他節點:
ssh-keygen -t rsa
ssh-copy-id <username>@<hostname>
確保防火墻允許Hadoop所需的端口通信。例如,允許9000、50070、8088等端口的通信:
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=50070/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8088/tcp --permanent
sudo firewall-cmd --reload
通過以上步驟,你應該能夠在Linux上成功配置一個基本的HDFS集群。根據具體需求,可能還需要進行更多的配置和優化。