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

news2024/9/22 19:40:09

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

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
   
         

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 准备发射

#生成公钥私钥
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

#!/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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2096102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker部署project-exam-system项目

8月30日笔记 项目实战:使用docker部署project-exam-system 1、背景: 使用基础的docker指令来创建镜像,实现项目的发布,使用Dockderfile,docker compose编排容器。 2、环境准备: (1&#x…

sts 0/1 没有 pod生成 -> kube-controller-manager没了

kube-controller-manager.yaml 在 nerdctl ps -a 看不到 journalctl -xu kubelet > /tmp/kubelet.log /tmp/kubelet.log 老6

OpenSetting组件的用法

文章目录 1. 概念介绍2. 使用方法与主要功能2.1 使用方法2.2 主要功能 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取App自身信息"相关的内容,本章回中将介绍一个三方包:open_setting.闲话休提,让我们一起Talk Flutter吧。 1. 概念…

JavaWeb:实验二JSP表单开发及访问数据库

一、实验目的 1.掌握JSP表单的开发方法。 2.熟悉JDBC技术和使用JDBC连接各种数据库。 二、实验性质 综合性实验 三、实验内容 实现注册与登录功能: 1.创建一个数据库,在数据库建立用户表。(5分) 2…

城市管理违规行为智能识别 Task3学习心得

本次学习主要针对数据集增强和模型预测 1、数据增强: 1)将四张训练图像组合成一张,增加物体尺度和位置的多样性。 2)复制一个图像的随机区域并粘贴到另一个图像上,生成新的训练样本 3)图像的随机旋转、…

day25 Java基础——面向对象两万字详解!(纯干货)

day25 Java基础——面向对象两万字详解!(纯干货) 文章目录 day25 Java基础——面向对象两万字详解!(纯干货)1. 类与对象的关系类(Class)对象(Object)类与对象…

gitee绑定公钥后依旧无法使用_gitee push添加公钥无效

解决: 步骤按照官网操作即可:gitee官方说明 看看远程地址是否使用的http模式,是的话换ssh模式

Adobe Acrobat Reader的高级功能详解

​ 大家好,我是程序员小羊! 前言: Adobe Acrobat Reader是广泛使用的PDF查看器,其不仅可以用于查看和打印PDF文件,还具有一些高级功能,可以提升用户的PDF文档处理效率。以下是对Adobe Acrobat Reader的一些…

RH850系列芯片深度剖析 1.7-启动流程解析

RH850系列芯片深度剖析 1.7-启动流程解析 文章目录 RH850系列芯片深度剖析 1.7-启动流程解析一、简介二、启动相关文件说明三、启动相关的段四、启动流程4.1 启动文件启动4.1.1 寄存器初始化4.1.2 时钟初始化4.1.3 模块Standby寄存器初始化4.1.4 启动从核4.1.5 硬件初始化4.1.5…

vector模拟实现迭代器失效

目录 1.vector和vector> 1.1两者的区别 1.2遍历的方法 2.vector模拟实现的准备 3.reserve出现的问题及解决方案 4.遍历vector的三种方式 5.关于typename的使用 6.insert导致的迭代其实失效问题 6.1因为扩容导致的迭代器失效 6.2因为插入数据倒置的迭代器失效 1.vec…

【精彩回顾·成都】成都 UG 生成式 AI 工作坊:AI 革命下的商业模式创新!

文章目录 前言一、活动介绍二、精彩分享内容及活动议程2.1、亚马逊云科技社区情况和活动介绍2.2、《浅谈 AIGC 商业化》2.3、《AI 浪潮下的产品落地》2.4、现场互动情况2.5、休息茶歇时间2.6、《AI 赋能商业革新:智能化转型的策略与实践》2.7、《动手实践&#xff1…

GAMES104:10+11游戏引擎中物理系统的基础理论算法和高级应用-学习笔记

文章目录 概览一,物理对象与形状1.1 对象 Actor1.2 对象形状Actor Shape 二,力与运动2.1 牛顿定律2.2 欧拉法2.2.1 显式欧拉法Explicit (Forward) Euler’s Method2.2.2 隐式欧拉法 Implicit (Backward) Euler’s Method2.2.3 半隐式欧拉法 Semi-implici…

【iOS】通过第三方库Masonry实现自动布局

目录 前言 约束 添加约束的规则 使用Masonry自动布局 Masonry的常见使用方法 补充 前言 在暑期完成项目时,经常要花很多时间在调试各种控件的位置上,因为每一个控件的位置都需要手动去计算,在遇到循环布局的控件时,还需要设…

使用文件系统管理硬件设备

1、描述一个文件系统 介绍如何使用文件系统来管理计算机系统中所有的硬件设计和磁盘 之前直接在sys_open/sys_read/sys_read中对具体的tty设备的打开、读写进行操作,并且只是非常粗浅地介绍了文件系统的一些概念。接下来将正式引入文件系统 由于文件系统需要考虑不…

从FasterTransformer源码解读开始了解大模型(2.4)代码通读05

从FasterTransformer源码解读开始了解大模型(2.4)代码解读05-ContextDecoder的前向01 写在前面的话 ContextDecoder部分是用于处理输入部分的组件层,在这一层中,会对所有输入的input ids进行处理,计算Attention&…

全国大学生数学建模比赛——关联规则

一、问题背景与关联规则适用性 在数学建模比赛中,常常会遇到需要分析大量数据以寻找变量之间潜在关系的问题。关联规则分析作为一种数据挖掘技术,特别适用于这种场景。例如,在一些实际问题中,可能需要从众多的因素中找出哪些因素之…

基于Python的量化交易回测框架Backtrader初识记录(一)

版权声明:本文为博主原创文章,如需转载请贴上原博文链接:基于Python的量化交易回测框架Backtrader初识记录(一)-CSDN博客 前言:近期以来,对股市数据获取及预处理算是告一段落,下一步…

Java-多线程机制

上篇我提到一些多线程的基本使用方法,但并没有说到底层原理,你或许会有一些疑问,为什么不直接调用Run方法而是要用start方法启动线程?多线程到底是怎样执行的?接下来我会详细带你了解多线程的机制原理。 多线程的底层…

Leetcode114将二叉树转换为链表(java实现)

来看下本题的题目描述: 本题想让我们将二叉树转换为单链表,可以发现,左边的二叉树转换为右边的链表是使用的中序遍历,根 左 右 所以本道题的思路就是可以先用一个集合以中序遍历收集元素,然后再构建单链表。 class S…

[pytorch] --- pytorch基础之tensorboard使用

0 tensorboard介绍 TensorBoard是一个用于可视化机器学习实验结果的工具,可以帮助我们更好地理解和调试训练过程中的模型。 在PyTorch中,我们可以使用TensorBoardX库来与TensorBoard进行交互。TensorBoardX 是一个PyTorch的扩展,它允许我们…