保姆级实战!Hadoop 3.4 高可用集群部署全攻略(附完整配置注释 + 生产级避坑指南)

Hadoop高可用集群部署

一、Zookeeper 集群部署

1. 环境准备与解压安装

首先在各节点创建统一的安装目录/opt/module/,将 Zookeeper 安装包上传至服务器后执行解压操作:

tar -zxvf apache-zookeeper-3.9.3-bin.tar.gz -C ../module/
mv apache-zookeeper-3.9.3-bin/ zookeeper-3.9.3

2. 核心配置文件修改

进入配置目录并创建自定义配置文件:

cd zookeeper-3.9.3/conf
cp zoo_sample.cfg zoo.cfg

在zoo.cfg中添加以下关键配置(注意数据目录需提前创建):

# 基本配置
tickTime=2000                  # 基本时间单位(毫秒)
initLimit=10                   # Leader选举初始化超时时间
syncLimit=5                    # 与Leader同步的超时时间
clientPort=2181                # 客户端连接端口

# 数据与日志存储目录
dataDir=/opt/module/zookeeper-3.9.3/data       # 数据存储目录
dataLogDir=/opt/logs/zookeeper                # 日志存储目录

# 集群节点配置(格式:server.ID=主机名:选举端口:通信端口)
server.1=node1:2888:3888                      # node1节点配置
server.2=node2:2888:3888                      # node2节点配置
server.3=node3:2888:3888                      # node3节点配置

# 自动清理配置(可选)
autopurge.purgeInterval=24                   # 自动清理频率(小时)
autopurge.snapRetainCount=3                  # 保留快照数量

3. 节点标识配置

在每个节点的数据目录中创建唯一标识文件:

mkdir -p /opt/module/zookeeper-3.9.3/data      # 创建数据目录
cd /opt/module/zookeeper-3.9.3/data
echo "1" > myid                                # node1节点写入1
# node2节点执行:echo "2" > myid
# node3节点执行:echo "3" > myid

4. 集群文件分发

通过 rsync 工具快速同步安装目录到其他节点:

rsync -rv zookeeper-3.9.3 node2:/opt/module/    # 分发到node2
rsync -rv zookeeper-3.9.3 node3:/opt/module/    # 分发到node3

5. 环境变量配置

在/etc/profile中添加 Zookeeper 环境变量并生效:

# ZK_HOME配置
export ZK_HOME=/opt/module/zookeeper-3.9.3
export PATH=$PATH:$ZK_HOME/bin
source /etc/profile                              # 使配置立即生效

6. 集群启动与状态验证

在所有节点执行启动命令,并通过状态检查确认集群运行情况:

zkServer.sh start                               # 启动Zookeeper服务
zkServer.sh status                              # 查看节点状态(应显示Leader/Follower)

二、Hadoop 高可用集群部署

1. 基础环境准备

解压 Hadoop 压缩包

tar -zxvf hadoop-3.4.1.tar.gz -C ../module/

2.修改配置文件

hdfs-site.xml

<configuration>
  <!-- 定义HDFS高可用集群的命名服务ID -->
  <!-- 客户端通过此名称访问HDFS,而不需要直接指定NameNode主机名 -->
  <property>
    <name>dfs.nameservices</name>
    <value>mycluster</value>
  </property>

  <!-- 指定命名服务下的NameNode标识符列表 -->
  <!-- 多个NameNode通过逗号分隔,用于实现主备切换 -->
  <property>
    <name>dfs.ha.namenodes.mycluster</name>
    <value>nn1,nn2</value>
  </property>

  <!-- 配置每个NameNode的RPC通信地址 -->
  <!-- 客户端通过此地址与NameNode进行元数据操作 -->
  <property>
    <name>dfs.namenode.rpc-address.mycluster.nn1</name>
    <value>node1:8020</value>
  </property>
  <property>
    <name>dfs.namenode.rpc-address.mycluster.nn2</name>
    <value>node2:8020</value>
  </property>

  <!-- 配置每个NameNode的HTTP Web UI地址 -->
  <!-- 用户通过此地址访问NameNode管理界面 -->
  <property
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小贾嗯嗯

多少给点吧,孩子三天没吃饭了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值