在CentOS上安裝和配置Hadoop分布式文件系統(HDFS)涉及多個步驟,包括安裝必要的軟件、配置環境變量、設置SSH免密登錄、格式化NameNode以及啟動HDFS服務等。以下是詳細的步驟指南:
首先,確保系統上安裝了Java運行環境(JDK)??梢酝ㄟ^以下命令安裝JDK 8:
yum install -y java-1.8.0-openjdk-devel
然后,配置Java環境變量:
vi /etc/profile
在文件末尾添加以下內容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
保存并退出,然后使配置生效:
source /etc/profile
驗證Java安裝:
java -version
為了在集群節點之間進行無密碼登錄,需要配置SSH密鑰對:
ssh-keygen -t rsa
將生成的公鑰復制到所有集群節點:
ssh-copy-id user@node2
ssh-copy-id user@node3
驗證免密登錄:
ssh node2
ssh node3
從Apache Hadoop官網下載所需版本的Hadoop安裝包,例如Hadoop 3.2.4:
wget https://downloads.apache.org/hadoop/core/hadoop-3.2.4/hadoop-3.2.4.tar.gz
tar -zxvf hadoop-3.2.4.tar.gz
mv hadoop-3.2.4 /usr/local/hadoop
編輯Hadoop的環境變量文件:
vi /etc/profile
在文件末尾添加以下內容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
保存并退出,然后使配置生效:
source /etc/profile
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
在首次啟動HDFS之前,需要格式化NameNode:
hdfs namenode -format
啟動HDFS服務:
/usr/local/hadoop/sbin/start-dfs.sh
驗證HDFS是否啟動成功:
jps
應該能看到NameNode、DataNode等進程。
打開瀏覽器,訪問NameNode的Web UI:
http://namenode:9000
停止HDFS服務:
/usr/local/hadoop/sbin/stop-dfs.sh
以上步驟涵蓋了在CentOS上安裝和配置Hadoop HDFS的基本流程。根據具體需求,可能還需要進行更多的配置和優化。