CentOS Hadoop 集群搭建指南
一、Hadoop 集群
Hadoop 是一个开源的分布式计算框架,旨在处理大规模数据集,它的核心组件包括 Hadoop 分布式文件系统(HDFS)和 Yet Another Resource Negotiator(YARN),HDFS 负责存储数据,而 YARN 负责资源管理和任务调度,在 Hadoop 集群中,通常包含一个主节点(NameNode 和 ResourceManager)和多个从节点(DataNode 和 NodeManager)。
二、环境准备
1、操作系统:CentOS 8,选择 CentOS 是因为它的稳定性和广泛的社区支持,确保所有节点都安装了相同版本的操作系统。
2、Java 环境:Hadoop 需要 Java 运行环境,安装 JDK 1.8,可以通过以下命令安装:
sudo yum install java1.8.0openjdkdevel
配置环境变量:
echo 'export JAVA_HOME=/usr/lib/jvm/java1.8.0openjdk' >> /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile source /etc/profile
3、网络配置:确保所有节点之间的网络连接正常,关闭防火墙以避免网络访问问题:
systemctl stop firewalld systemctl disable firewalld
4、主机名和 IP 映射:
编辑/etc/hosts
文件,添加以下内容:
192.168.56.200 node1 192.168.56.201 node2 192.168.56.202 node3
node1 为主节点,node2 和 node3 为从节点。
5、SSH 免密登录配置:在主节点上生成 SSH 密钥对,并将公钥复制到所有从节点的~/.ssh/authorized_keys
文件中:
sshkeygen t rsa sshcopyid node2 sshcopyid node3
三、Hadoop 集群搭建步骤
Hadoop 安装与配置
下载与解压 Hadoop
从 Apache Hadoop 官网下载 Hadoop 3.3.4 版本,并将其上传到所有节点的/export/software
目录下,然后解压:
tar zxvf hadoop3.3.4.tar.gz C /export/servers
配置环境变量
在所有节点上,编辑/etc/profile
文件,添加以下内容:
export HADOOP_HOME=/export/servers/hadoop3.3.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
使配置生效:
source /etc/profile
Hadoop 配置文件
在主节点上,编辑 Hadoop 的配置文件,主要配置文件包括coresite.xml
、hdfssite.xml
和yarnsite.xml
。
coresite.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://node1:8020</value> </property> </configuration>
hdfssite.xml:
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///export/data/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///export/data/hdfs/data</value> </property> </configuration>
yarnsite.xml:
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <property> <name>yarn.nodemanager.auxservices</name> <value>mapreduce_shuffle</value> </property> </configuration>
分发配置文件
将配置好的 Hadoop 文件夹复制到其他从节点:
scp r $HADOOP_HOME node2:$HADOOP_HOME scp r $HADOOP_HOME node3:$HADOOP_HOME
2. 格式化 NameNode 并启动 Hadoop 集群
在主节点上格式化 NameNode:
hdfs namenode format
启动 HDFS 和 YARN:
startdfs.sh startyarn.sh
验证集群是否启动成功:
hdfs dfsadmin report yarn node list
如果一切正常,可以通过浏览器访问 Hadoop 的 Web UI:NameNode 管理界面通常位于http://node1:9870
,ResourceManager 界面位于http://node1:8088
。
四、常见问题解答(FAQs)
1. 如何修改 Hadoop 集群中的节点数量?
要修改 Hadoop 集群中的节点数量,可以按照以下步骤进行:
1、添加新节点:在现有集群中添加新的从节点,只需在新节点上安装 Hadoop 客户端并进行必要的配置,将新节点添加到slaves
文件中,并重新启动 Hadoop 服务。
2、减少节点:如果需要移除某个节点,只需将其从slaves
文件中删除,并在该节点上停止 Hadoop 服务即可,重新格式化 NameNode(注意:这会导致数据丢失,请谨慎操作)。
2. Hadoop 集群中的 DataNode 无法启动怎么办?
DataNode 无法启动,可以检查以下几个方面:
1、日志文件:查看 DataNode 的日志文件(通常位于$HADOOP_HOME/logs
目录下),查找错误信息。
2、配置文件:确保hdfssite.xml
中的配置正确,特别是dfs.datanode.data.dir
指定的目录是否存在且具有适当的权限。
3、端口冲突:确保 DataNode 所需的端口未被其他服务占用,默认情况下,DataNode 使用 50010 端口,可以通过netstat an | grep 50010
检查端口占用情况。
4、SSH 免密登录:确认主节点可以通过 SSH 无密码登录从节点,因为 DataNode 启动时需要与主节点通信。