centos搭建hadoop群

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

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
配置默认文件系统和临时目录:

centos搭建hadoop群

<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进程。

centos搭建hadoop群

验证集群

上传测试文件到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文件配置是否正确。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

赞 (0)
热舞的头像热舞
上一篇 2025-12-06 03:55
下一篇 2025-12-06 03:58

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信