04-Zookeeper环境搭建

星期一, 4月 7, 2025 | 2分钟阅读

MyraZ
04-Zookeeper环境搭建

关于Linux系统大数据环境搭建——04-Zookeeper环境搭建。

04-Zookeeper3.6.3环境搭建

Zookeeper版本:Zookeeper3.6.3

ZooKeeper集群搭建

​ 首先将三台虚拟机切换至相互免秘钥快照(keyfree),然后将准备好的ZooKeeper 安装包上传至服务器。

node01

​ 先在node01机器上执行以下操作。

​ 解压。

[root@node01 ~]# tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/yjx/
[root@node01 ~]# rm apache-zookeeper-3.6.3-bin.tar.gz -rf

​ 创建数据目录、日志目录。

[root@node01 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node01 ~]# mkdir -p /opt/yjx/apache-zookeeper-3.6.3-bin/logs

​ 修改配置文件,ZooKeeper 启动时默认加载的配置文件名为zoo.cfg

[root@node01 ~]# cd /opt/yjx/apache-zookeeper-3.6.3-bin/
[root@node01 apache-zookeeper-3.6.3-bin]# cp conf/zoo_sample.cfg conf/zoo.cfg
[root@node01 apache-zookeeper-3.6.3-bin]# vim conf/zoo.cfg

​ 主要修改以下内容(数字表示行号):

12 dataDir=/var/yjx/zookeeper/data
13 dataLogDir=/opt/yjx/apache-zookeeper-3.6.3-bin/logs
15 clientPort=2181
37 server.1=node01:2888:3888
38 server.2=node02:2888:3888
39 server.3=node03:2888:3888

server.1中的1是myid文件中的内容,2888用于集群内部通信,3888用于选举Leader。

node02/03

​ 接下来将node01的ZooKeeper所有文件拷贝至node02和node03。推荐从node02和node03拷贝。

[root@node02 ~]# scp -r root@node01:/opt/yjx/apache-zookeeper-3.6.3-bin /opt/yjx/
[root@node03 ~]# scp -r root@node01:/opt/yjx/apache-zookeeper-3.6.3-bin /opt/yjx/
# 或者使用分发脚本
[root@node01 ~]# yjxrsync /opt/yjx/apache-zookeeper-3.6.3-bin

node01/02/03

​ 然后在三台机器的/var/yjx/zookeeper/data目录下分别创建myid文件,内容分别为1,2,3。

​ node01:

[root@node01 ~]# echo 1 > /var/yjx/zookeeper/data/myid

​ node02:

[root@node02 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node02 ~]# echo 2 > /var/yjx/zookeeper/data/myid

​ node03:

[root@node03 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node03 ~]# echo 3 > /var/yjx/zookeeper/data/myid

环境变量

​ 最后 vim /etc/profile 配置环境变量,环境搭建结束。

export ZOOKEEPER_HOME=/opt/yjx/apache-zookeeper-3.6.3-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH

​ 配完环境变量后 source /etc/profile 重新加载环境变量。

启动/查看状态/关闭

​ 启动集群:

[root@node01 ~]# zkServer.sh start
[root@node02 ~]# zkServer.sh start
[root@node03 ~]# zkServer.sh start

​ 查看状态:

[root@node01 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/yjx/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@node02 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/yjx/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@node03 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/yjx/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

​ 停止集群:

[root@node01 ~]# zkServer.sh stop
[root@node02 ~]# zkServer.sh stop
[root@node03 ~]# zkServer.sh stop

​ 环境搭建成功后,删除ZooKeeper安装包,shutdown -h now 关机拍摄快照。

ZK集群一键启动脚本

​ 在/usr/local/bin目录下创建对应服务的脚本:

[root@node01 ~]# vim /usr/local/bin/zookeeper

zookeeper 脚本内容如下:

#!/bin/bash

user=$(whoami)
case $1 in
    "start")
        for i in node01 node02 node03
        do
            echo -e "\e[1;34m==================== $i ZooKeeper 启动 ====================\e[0m"
            ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start"
        done
        ;;
    "stop")
        for i in node01 node02 node03
        do
            echo -e "\e[1;34m==================== $i ZooKeeper 停止 ====================\e[0m"
            ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop"
        done
        ;;
    "status")
        for i in node01 node02 node03
        do
            echo -e "\e[1;34m==================== $i ZooKeeper 状态 ====================\e[0m"
            ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status"
        done
        ;;
    "restart")
        for i in node01 node02 node03
        do
            echo -e "\e[1;34m==================== $i ZooKeeper 重启 ====================\e[0m"
            ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart"
        done
        ;;
esac

​ 修改脚本权限为用户读写执行rwx,组读执行r-x,其他用户无权限---

[root@node01 ~]# chmod 750 /usr/local/bin/zookeeper

© 2024 - 2025 雪中烛

 

在线工具资源网站

在线工具官网

ProcessOn:👉ProcessOn在线作图

腾讯文档:👉腾讯文档

FlowUs 息流:👉FlowUs 息流

Mermaid Live Editor:👉在线流程图和图表编辑器 - 美人鱼实时编辑器

ME2在线工具(加密工具):👉ME2在线工具-在线开发学习生活工具箱

Textln:👉Textln文本智能云平台-通用文本解析

MinerU:👉MinerU数据提取工具

Crontab:👉Cron Expression Examples - Crontab.guru

正则表达式测试网站:👉regex101: build, test, and debug regex

技术资源网站

技术资源官网

Spring:👉Spring官网

MyBatis中文网 :👉MyBatis 中文网

Redis中文网:👉Redis中文网

Zookeeper:👉Apache ZooKeeper官网

Raft算法:👉Raft Consensus Algorithm官网

Hadoop:👉Apache Hadoop官网

Hive:👉Apache Hive官网

Phoenix:👉Apache Phoenix官网

Bootstrap中文网:👉Bootstrap中文网

Element:👉组件 | Element

Layui :👉Layui - 极简模块化前端 UI 组件库(官方文档)

FreeMarker :👉FreeMarker 中文官方参考手册

ztree树插件: 👉zTree – jQuery 树插件官网

x File Storage:👉x File Storage官网