在CentOS上搭建HDFS(Hadoop Distributed File System)集群涉及多个步骤,包括安装Java、配置Hadoop环境、设置SSH无密码登录以及启动和测试HDFS。以下是一个基本的指南:
Hadoop需要Java环境,首先安装Java:
sudo yum update -y
sudo yum install java-1.8.0-openjdk-devel -y
验证Java安装:
java -version
从Apache Hadoop官网下载最新版本的Hadoop,并解压到指定目录:
wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
编辑/etc/profile.d/hadoop.sh文件,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效:
source /etc/profile.d/hadoop.sh
编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件,设置Java home:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
编辑$HADOOP_HOME/etc/hadoop/core-site.xml文件,配置HDFS的默认文件系统:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件,配置HDFS的相关参数:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value>
</property>
</configuration>
在所有节点上生成SSH密钥:
ssh-keygen -t rsa
将公钥复制到其他节点:
ssh-copy-id namenode
ssh-copy-id datanode1
ssh-copy-id datanode2
在NameNode节点上启动HDFS:
start-dfs.sh
检查HDFS状态:
hdfs dfsadmin -report
在NameNode节点上创建一个测试文件:
hdfs dfs -mkdir /test
hdfs dfs -put /etc/passwd /test
hdfs dfs -ls /test
在DataNode节点上查看文件:
hdfs dfs -get /test/passwd
cat passwd
在NameNode节点上停止HDFS:
stop-dfs.sh
以上步骤完成了在CentOS上搭建HDFS集群的基本过程。根据实际需求,可能还需要进行更多的配置和优化。