在CentOS系统上搭建Hadoop集群需要经过环境准备、软件安装、配置修改和启动测试等步骤,以下是详细的操作指南,帮助您顺利完成集群搭建。

环境准备
在开始搭建Hadoop集群前,需要确保所有节点满足基本要求,准备3台或更多CentOS 7/8服务器,分别配置为NameNode、DataNode和ResourceManager角色,每台节点建议至少4GB内存和50GB磁盘空间,确保网络互通,关闭防火墙和SELinux,避免权限问题影响服务运行,执行以下命令关闭防火墙:
sudo systemctl stop firewalld sudo systemctl disable firewalld setenforce 0
配置主机名和hosts文件,确保所有节点能通过主机名互相访问,在/etc/hosts中添加:
168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2 安装JDK 1.8或更高版本,Hadoop依赖Java环境,可通过yum或手动下载安装,配置JAVA_HOME环境变量。
创建Hadoop用户
为了安全和管理方便,建议创建专用用户,执行以下命令:
sudo useradd hadoop sudo passwd hadoop sudo visudo
在sudoers文件中添加hadoop用户权限,确保后续操作无需root密码,将hadoop用户加入wheel组:
sudo usermod -aG wheel hadoop
安装Hadoop
下载Hadoop二进制包,建议选择稳定版本如3.3.1,从官网下载后解压到/opt目录:
sudo tar -xzvf hadoop-3.3.1.tar.gz -C /opt sudo chown -R hadoop:hadoop /opt/hadoop-3.3.1
创建软链接方便使用:
sudo ln -s /opt/hadoop-3.3.1 /opt/hadoop
配置Hadoop集群
Hadoop的核心配置文件位于$HADOOP_HOME/etc/hadoop目录下,需要修改以下关键文件:
core-site.xml
配置默认文件系统和临时目录:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration> hdfs-site.xml
配置副本数量和NameNode数据目录:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/dfs/data</value>
</property>
</configuration> yarn-site.xml
配置ResourceManager地址:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration> workers
列出所有DataNode节点:
slave1
slave2 mapred-site.xml
配置MapReduce运行在YARN上:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration> 配置环境变量
在hadoop用户的~/.bashrc中添加:
export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
执行source ~/.bashrc使配置生效。
启动集群
首次启动前需要格式化NameNode:
hdfs namenode -format
启动Hadoop集群:
start-dfs.sh start-yarn.sh
通过jps命令检查进程,NameNode应看到NameNode、ResourceManager进程,DataNode应看到DataNode、NodeManager进程。

验证集群
上传测试文件到HDFS:
hdfs dfs -mkdir -p /user/hadoop hdfs dfs -put $HADOOP_HOME/README.txt /user/hadoop/ hdfs dfs -ls /user/hadoop
运行MapReduce测试程序:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi 10 100
查看YARN Web界面(http://master:8088)确认任务运行状态。
常见问题维护
定期检查日志文件($HADOOP_HOME/logs),监控磁盘使用情况,如遇节点故障,可通过hdfs dfsadmin -report查看集群状态,必要时在故障节点上重新启动DataNode服务。
FAQs
启动集群时NameNode进程无法启动怎么办?
检查core-site.xml中的fs.defaultFS配置是否正确,确保NameNode目录权限为hadoop用户所有,查看logs目录下的namenode.log文件,根据错误信息排查问题,常见原因是网络配置或端口冲突。
DataNode无法连接到NameNode?
确认防火墙已关闭,检查hdfs-site.xml中的数据目录权限,确保DataNode节点能通过主机名访问NameNode的9000端口,使用telnet master 9000测试网络连通性,检查/etc/hosts文件配置是否正确。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复