zookeeper 集群搭建 及启动关闭脚本

1准备奇数台机子3,5,7

我准备的是三台

192.168.58.81 zookeeper-1

192.168.58.82 zookeeper-2

192.168.58.83 zookeeper-3

下载jdk 把他配置环境变量并检查是否是环境变量 echo $JAVA_HOME

bash 复制代码
cd /opt/software 


wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz



tar -xzvf apache-zookeeper-3.6.2-bin.tar.gz  -C  /usr/



mv /usr/apache-zookeeper-3.6.2-bin/  /usr/zookeeper



cd /usr/zookeeper/



vim /etc/profile
   
         
bash 复制代码
source /etc/profile


echo $ZK_HOME


cp conf/zoo_sample.cfg  conf/zoo.cfg


vim conf/zoo.cfg


最后一行加
 server.1=zookeeper-1:2888:3888
 server.2=zookeeper-2:2888:3888
 server.3=zookeeper-3:2888:3888
保存退出

mkdir /usr/zookeeper/data

vi /etc/hosts
  最后一行添加
192.168.58.81 zookeeper-1
192.168.58.82 zookeeper-2
192.168.58.83 zookeeper-3
保存退出



vim /usr/zookeeper/data/myid
   添加数字
    1
   保存退出

2 准备发射

bash 复制代码
#生成公钥私钥
ssh-keygen -t rsa
回车回车回车 
cd  /root/

ls .ssh 
能看到 id_rsa  id_rsa.pub


将你的 SSH 公钥添加到名为 zookeeper-1 的远程服务器上
ssh-copy-id zookeeper-1       
yes
ssh-copy-id zookeeper-2
yes
ssh-copy-id zookeeper-3
yes



scp  -r   /usr/zookeeper/ zookeeper-2:/usr/
scp  -r   /usr/zookeeper/ zookeeper-3:/usr/


scp /etc/hosts zookeeper-2:/etc/
scp /etc/hosts zookeeper-3:/etc/


scp /etc/profile zookeeper-2:/etc/
scp /etc/profile zookeeper-3:/etc/

3 发射完毕

改zookeeper-2里面的配置

source /etc/profile 让刚发射的环境变量文件生效

vim /usr/zookeeper/data/myid 从zookeeper-1发射过来的刚才配的数字是1改称2

改zookeeper-3里面的配置

source /etc/profile

vim /usr/zookeeper/data/myid 从zookeeper-1发射过来的刚才配的数字是1改称3

再zookeeper-1 zookeeper-2 zookeeper-3 启动zookeeper

zkServer.sh start zkServer.sh start zkServer.sh start

zkServer.sh status zkServer.sh status zkServer.sh status

按顺序启动1,2,3 可以看到zookeeper-2是leader ,1,3 follower


4 脚本

一台一台启动太麻烦搞个zookeeper启动关闭脚本

mkdir shell && cd shell && vim zookeeper-start-stop.sh

bash 复制代码
#!/bin/bash
##获取当前主机运行的zk进程的数量 
#                                            zookeeper主机名字不带后面的数字
zkpsnum=`ps -ef | grep zookeeper-root-server-zookeeper | grep -v grep|wc -l`
#判断进程数量
if [ $zkpsnum == 0 ];then
  #打印提示
  echo 'zk集群开始启动!'
   #使用for循环启动各个服务器
   for i in {1..3};do
    #远程登录服务器执行命令source /etc/profile;让环境变量生效
        ssh zookeeper-$i "source /etc/profile;zkServer.sh start"
   done
  echo 'zk集群启动完毕!'
  echo 'zk集群状态如下:'
  #使用for循环查看状态
  for i in {1..3};do
     #远程登录服务器执行命令source /etc/profile;让环境变量生效
      ssh zookeeper-$i "source /etc/profile;zkServer.sh status"
  done

else
  echo 'zk集群开始关闭!!!!!!!!!!!!!!!'
  #使用for循环查看状态
    for i in {1..3};do
 #远程登录服务器执行命令source /etc/profile;让环境变量生效
    ssh zookeeper-$i "source /etc/profile;zkServer.sh stop"
    done

   echo 'zk集群关闭完毕!'
fi

chmod +x zookeeper-start-stop.sh

相关推荐
fpcc1 小时前
计算机原理—Linux是如何加载可执行文件到内存
linux
野熊佩骑1 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes
码农客栈1 小时前
linux 设备树下的 platform 驱动编写
linux
小HANN1 小时前
Linux建站实战:CentOS7+LNMP 从零部署 ECShop 开源电商系统
linux·运维·服务器·经验分享
做运维的阿瑞1 小时前
Shell 脚本经典十三问:引号、变量、子 Shell 与重定向一次讲清问:引号、变量、子 Shell 与重定向一次讲清
linux·tcp/ip
昌原的儿子LEO2 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
GeW2 小时前
RHCE通关秘籍:从零基础到高分拿证的5个加速器
linux
前端世界2 小时前
基于 Linux 的本地 AI 智能问答平台搭建实践 —— Ollama + FastAPI + Nginx 实现本地大模型 Web 服务
linux·运维·人工智能
倔强的石头1062 小时前
【Linux指南】动静态库系列(七):符号表与重定位:链接器如何把函数调用接起来
linux·前端·javascript
平原20183 小时前
GPT Image 2 / Nano Banana API成本拆解:$0.0081、84.7%与单张有效成本
linux·服务器·gpt