linux

Linux中Hadoop集群搭建步骤是什么

小樊
42
2025-11-06 20:57:49
栏目: 智能运维

Linux环境下Hadoop集群搭建步骤

1. 前置准备

2. 安装Java环境

Hadoop依赖Java运行环境,需在所有节点安装JDK(推荐OpenJDK 8/11):

# CentOS系统(以OpenJDK 8为例)
sudo yum install -y java-1.8.0-openjdk-devel

# Ubuntu系统(以OpenJDK 11为例)
sudo apt update
sudo apt install -y openjdk-11-jdk

# 验证安装
java -version  # 应输出Java版本信息

配置JAVA_HOME环境变量(编辑~/.bashrc/etc/profile):

echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> ~/.bashrc  # CentOS路径
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/.bashrc
source ~/.bashrc  # 使配置生效

3. 下载并解压Hadoop

从Apache官网下载稳定版本的Hadoop(如3.4.1),解压到指定目录(如/usr/local):

# 下载Hadoop(以3.4.1为例)
wget https://downloads.apache.org/hadoop/common/hadoop-3.4.1/hadoop-3.4.1.tar.gz

# 解压并移动到目标目录
tar -zxvf hadoop-3.4.1.tar.gz
sudo mv hadoop-3.4.1 /usr/local/hadoop

# 修改目录权限(避免权限问题)
sudo chown -R hadoop:hadoop /usr/local/hadoop

4. 配置环境变量

编辑用户目录下的~/.bashrc文件,添加Hadoop相关环境变量:

echo 'export HADOOP_HOME=/usr/local/hadoop' >> ~/.bashrc
echo 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
source ~/.bashrc  # 使配置生效

5. 配置SSH免密登录

Hadoop集群节点间需通过SSH免密通信,步骤如下:

6. 配置Hadoop核心文件

进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下关键文件:

6.1 core-site.xml

配置HDFS的默认文件系统地址(指向NameNode):

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>  <!-- 替换为Master节点的主机名/IP -->
    </property>
</configuration>
6.2 hdfs-site.xml

配置HDFS的副本数(生产环境建议3副本,测试环境可设为1)及NameNode/DataNode的数据存储路径:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>  <!-- 副本数,根据节点数量调整 -->
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop/data/namenode</value>  <!-- NameNode元数据存储路径 -->
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/data/datanode</value>  <!-- DataNode数据存储路径 -->
    </property>
</configuration>
6.3 mapred-site.xml

指定MapReduce框架为YARN(需提前创建mapred-site.xml,可通过cp mapred-site.xml.template mapred-site.xml生成):

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
6.4 yarn-site.xml

配置YARN的资源管理器(ResourceManager)及Shuffle服务:

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>  <!-- 替换为ResourceManager节点的主机名/IP -->
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

7. 格式化NameNode

NameNode是HDFS的核心组件,首次启动前需格式化(仅执行一次,会清空HDFS数据):

hdfs namenode -format

格式化后,会在配置的dfs.namenode.name.dir路径下生成元数据文件。

8. 启动Hadoop集群

验证服务是否启动

jps  # 查看Java进程,应包含NameNode、DataNode、ResourceManager、NodeManager等

若进程未启动,可查看日志文件($HADOOP_HOME/logs)排查问题。

9. 验证集群状态

以上步骤完成后,一个基本的Hadoop集群即可正常运行。生产环境中还需进行优化(如调整JVM参数、配置高可用HA、增加数据节点等)。

0
看了该问题的人还看了