linux

Hadoop集群在Linux上如何配置

小樊
45
2025-11-10 23:57:06
栏目: 智能运维

Hadoop集群在Linux上的配置步骤

1. 环境准备

2. 安装Java环境(JDK 1.8+)

Hadoop基于Java开发,需先安装JDK。以CentOS为例:

sudo yum install -y java-1.8.0-openjdk-devel  # 安装OpenJDK 8
java -version  # 验证安装(需显示Java版本信息)

将Java路径添加到环境变量(所有节点):

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

3. 下载并解压Hadoop

从Apache官网下载稳定版本(如3.3.5),解压到指定目录(如/opt/hadoop):

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz  # 下载
tar -xzvf hadoop-3.3.5.tar.gz -C /opt/  # 解压
sudo mv /opt/hadoop-3.3.5 /opt/hadoop  # 重命名目录

设置目录权限(避免权限问题):

sudo chown -R root:root /opt/hadoop  # 根据实际用户调整

4. 配置环境变量(所有节点)

编辑~/.bashrc(或/etc/profile),添加Hadoop环境变量:

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

验证Hadoop命令:

hadoop version  # 应显示Hadoop版本信息

5. 配置Hadoop核心文件(Master节点)

Hadoop配置文件位于$HADOOP_HOME/etc/hadoop目录,需修改以下核心文件:

5.1 core-site.xml(HDFS默认文件系统)
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:9000</value>  <!-- Master节点主机名,端口9000 -->
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/tmp</value>  <!-- 临时目录(需提前创建) -->
    </property>
</configuration>
5.2 hdfs-site.xml(HDFS副本与NameNode配置)
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>  <!-- 数据副本数(集群节点≥3时设为3,否则设为节点数) -->
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/hdfs/namenode</value>  <!-- NameNode元数据存储路径 -->
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/hdfs/datanode</value>  <!-- DataNode数据存储路径 -->
    </property>
</configuration>
5.3 mapred-site.xml(MapReduce框架配置)

需先将mapred-site.xml.template重命名为mapred-site.xml

mv $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml

编辑内容:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>  <!-- 使用YARN作为资源管理器 -->
    </property>
</configuration>
5.4 yarn-site.xml(YARN资源管理器配置)
<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>resourcemanager</value>  <!-- ResourceManager节点主机名 -->
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>  <!-- 必须配置,支持MapReduce shuffle -->
    </property>
</configuration>
5.5 slaves(Worker节点列表,可选)

若使用start-dfs.sh/start-yarn.sh自动启动DataNode/NodeManager,需在$HADOOP_HOME/etc/hadoop/slaves中列出所有Slave节点主机名(每行一个):

slave1
slave2

或使用workers文件(部分版本支持)。

6. 配置SSH免密登录(Master节点)

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

7. 格式化HDFS(Master节点)

首次启动前需格式化NameNode(仅执行一次,会清除HDFS所有数据):

hdfs namenode -format  # 输入命令后等待格式化完成(显示"Successfully formatted")

8. 启动Hadoop集群(Master节点)

9. 验证集群状态

注意事项

0
看了该问题的人还看了