【zookeeper】--部署3.6.3

文章目录

下载解压

bash 复制代码
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
tar -zxvf zookeeper-3.6.3-bin.tar.gz -C XXXX

创建data和logs

bash 复制代码
cd XXXX
mkdir data logs

配置文件

1)创建目录并且编辑 zoo.cfg
bash 复制代码
[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

# 修改以下内容 (旁边的数字是行号)
dataDir=XXXX/data
dataLogDir=XXXX/logs
clientPort=2181
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
2)接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝
bash 复制代码
[root@node01 ~]# scp -r /opt/yjx/apache-zookeeper-3.6.3-bin/ node02:$PWD
[root@node01 ~]# scp -r /opt/yjx/apache-zookeeper-3.6.3-bin/ node03:$PWD

3)在三台节点 /var/yjx/zookeeper/data 目录下分别创建 myid 文件,内容分别为 1,2,3。

bash 复制代码
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

#!注意 确定每一个myid只有一行并且没有多余空格
4)最后 vim /etc/profile 配置环境变量,环境搭建结束。配完环境变量后 source /etc/profile 重新加载环境变量。
bash 复制代码
[root@node01 ~]# vim /etc/profile

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

[root@node01 ~]# source /etc/profile

启动

bash 复制代码
[root@node01 ~]# zkServer.sh start
[root@node02 ~]# zkServer.sh start
[root@node03 ~]# zkServer.sh start

启动脚本

bash 复制代码
# 在 /usr/local/bin 目录下创建对应服务的脚本:
[root@node01 ~]# cd ~
[root@node01 ~]# vim 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"
            sleep 3
            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 node01 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
..............................................................

[root@node01 ~]# chmod 750 zookeeper
相关推荐
灯澜忆梦1 小时前
【RabbitMQ #7】 | 消息转换器
分布式·rabbitmq·ruby
需要8262 小时前
分布式事务:Seata AT/TCC/SAGA 的取舍与踩坑
java·spring boot·分布式·spring·spring cloud
CS创新实验室4 小时前
为什么三台机器就能选出一个“带头大哥“?——Raft 一致性算法,一次讲透
分布式·操作系统
本人手速666+6 小时前
企微开发API如何设计客户冻结状态?WeComApi 在删除、投诉和异常客户场景中的自动化边界
运维·分布式·自动化·企业微信·企微外部群开发·wecomapi·企业微信二次开发
灯澜忆梦8 小时前
【RabbitMQ #4】 | Work 任务模型
分布式·rabbitmq
程序猿乐锅8 小时前
【黑马点评 | 第七篇】Redis 分布式锁的两种实现
java·数据库·redis·分布式·spring·缓存
千里码aicood9 小时前
基于Hadoop的机票价格波动分析系统的设计与实现
大数据·hadoop·分布式
Thomas.Sir6 天前
第21课:PyTorch|GPU多卡训练与分布式训练基础【让多卡并行成为你的加速引擎】
人工智能·pytorch·分布式
Cicada1287 天前
库存消息消费的正确性设计——从幂等窗口到批量流水线
分布式·系统架构