HCRM博客

如何在CentOS上搭建Hadoop集群?

CentOS Hadoop 集群搭建指南

一、Hadoop 集群

如何在CentOS上搭建Hadoop集群?-图1
(图片来源网络,侵权删除)

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、网络配置:确保所有节点之间的网络连接正常,关闭防火墙以避免网络访问问题:

如何在CentOS上搭建Hadoop集群?-图2
(图片来源网络,侵权删除)
    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

如何在CentOS上搭建Hadoop集群?-图3
(图片来源网络,侵权删除)

从 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.xmlhdfssite.xmlyarnsite.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 启动时需要与主节点通信。

分享:
扫描分享到社交APP
上一篇
下一篇