《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署zookeeper 3.8.4容器版分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、部署背景

由于业务系统的特殊性,我们需要面对不同的客户部署业务系统,zookeeper作为重要的一环,为了更快捷有效的部署zookeeper,这里编写了基于x86_64架构一键离线docker容器版zookeeper 3.8.4集群工具。

docker版本 docker-compose版本
26.1.3 v2.29.0

二、工具介绍

一键部署工具实现功能如下:

1、支持单机部署(1 zookeeper)。
2、支持单机伪集群部署(3 zookeeper)。
3、支持多机分布式机部署(3 zookeeper)。
4、支持数据目录、端口、JVM内存。
5、支持zookeeper配置文件、数据目录持久化。
6、支持部署、启动、停止、卸载、检测等操作。


三、工具下载

基于x86_64架构CPU使用docker-compose一键离线部署zookeeper 3.8.4分布式集群工具


四、部署步骤

说明:这里就只演示,在3台主机上部署zookeeper 3.8.4集群。

1、查看帮助命令
在这里插入图片描述


2、编辑变量文件

说明:变量文件内容3台主机需相同。

[root@ecs-ed54-0001 zookeeper]# cp cluster.conf.tpl cluster.conf
[root@ecs-ed54-0001 zookeeper]# vim cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"# zoo1主机内网IP/端口,端口不冲突情况下,建议不修改
export ZOO1_HOST="192.168.1.111"
export ZOO1_CLIENT_PORT="2181"    #对cline端提供服务
export ZOO1_PEER_PORT="2886"      #集群内机器通讯使用,Leader监听此端口
export ZOO1_ELECTION_PORT="3886"  #选举leader使用# zoo2主机内网IP/端口,端口不冲突情况下,建议不修改
export ZOO2_HOST="192.168.1.112"
export ZOO2_CLIENT_PORT="2182"    #对cline端提供服务
export ZOO2_PEER_PORT="2887"      #集群内机器通讯使用,Leader监听此端口
export ZOO2_ELECTION_PORT="3887"  #选举leader使用# zoo3主机内网IP/端口,端口不冲突情况下,建议不修改
export ZOO3_HOST="192.168.1.113"
export ZOO3_CLIENT_PORT="2183"    #对cline端提供服务
export ZOO3_PEER_PORT="2888"      #集群内机器通讯使用,Leader监听此端口
export ZOO3_ELECTION_PORT="3888"  #选举leader使用# zookeeper客户端JVM的最大堆内存大小,根据实际需求修改,单位是m,只需填写数值即可
export ZK_CLIENT_HEAP=512# zookeeper服务器JVM的最大堆内存大小,根据实际需求修改,单位是m,只需填写数值即可,ZK_SERVER_HEAP值必须远远大于ZK_CLIENT_HEAP值
export ZK_SERVER_HEAP=2048# 数据存储目录,默认不修改
export ZOO_DATA_DIR="${BASE_DIR}/basic-data"

3、执行一键部署

1、主机节点1部署

[root@ecs-ed54-0001 zookeeper]# ./op.sh build zoo1

执行结果,如下图所示:
在这里插入图片描述

2、主机节点2部署

[root@ecs-ed54-0001 zookeeper]# ./op.sh build zoo2

执行结果,如下图所示:
在这里插入图片描述

3、主机节点3部署

[root@ecs-ed54-0001 zookeeper]# ./op.sh build zoo3

执行结果,如下图所示:
在这里插入图片描述


五、其它操作

5.1、启动

说明:分别在对应主机节点上执行。

[root@ecs-ed54-0001 zookeeper]# ./op.sh start zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh start zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh start zoo3

5.2、停止

说明:分别在对应主机节点上执行。

[root@ecs-ed54-0001 zookeeper]# ./op.sh stop zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh stop zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh stop zoo3

5.3、检查

说明:分别在对应主机节点上执行。

[root@ecs-ed54-0001 zookeeper]# ./op.sh check zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh check zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh check zoo3

执行结果,如下图所示:
在这里插入图片描述


5.4、卸载

说明:分别在对应主机节点上执行。

[root@ecs-ed54-0001 zookeeper]# ./op.sh clear zoo1
[root@ecs-ed54-0002 zookeeper]# ./op.sh clear zoo2
[root@ecs-ed54-0003 zookeeper]# ./op.sh clear zoo3

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》

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

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

相关文章

邮件攻击案例系列四:某金融企业遭遇撒网式钓鱼邮件攻击

案例描述 2023 年 3 月末,某知名投资公司业务经理李先生先后收到两封看似是来自邮件服务商和公司网络安全部门发出的邮件,标题是“紧急:邮箱安全备案更新通知”。邮件内容称,由于最近公司内部系统升级,所有员工必须重…

【Python机器学习】朴素贝叶斯——使用朴素贝叶斯过滤垃圾邮件

使用朴素贝叶斯解决一些现实生活中的问题时,需要先从文本内容中得到字符串列表,然后生成词向量。 使用朴素贝叶斯对电子邮件进行分类的过程: 1、收集数据:提供文本文件 2、准备数据:将文本文件解析成词条向量 3、分析…

Kubernetes 面试题及答案整理,最新面试题

Kubernetes中Pod是什么,它与容器有什么区别? Pod是Kubernetes中的基本运行单元,可以包含一个或多个紧密相关的容器。它们共享相同的网络命名空间、IP地址和端口空间,可以访问相同的存储资源。Pod作为单个应用的最小单元,确保其中的容器在同一个运行环境中并且相互之间的网…

【Windows】Mountain Duck(FTP服务器管理工具)软件介绍

软件介绍 Mountain Duck是一款基于Cyberduck开发的应用程序,它允许用户通过FTP、SFTP、WebDAV、S3和OpenStack Swift等协议连接到云存储和远程服务器,并在本地文件浏览器中以熟悉的方式访问和管理这些文件。 功能特点 支持多种协议: Mountain Duck支持…

面向对象程序设计(C++)模版初阶

1. 函数模版 1.1 函数模版概念 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本,可以类比函数参数,函数模版就是将函数参数替换为特定类型版本 1.2 函数模版格…

BUG 太多?苹果罕见“重新推送”ios18 beta 4测试版

在刚刚过去的周末,苹果公司面向开发者,重新发布了 iOS / iPadOS 18 Beta 4 更新,内部版本号从 22A5316j 变为 22A5316k,目前尚不清楚两个 Beta 4 版本更新之间的区别。 此次更新包大小仅为251M左右,是 更新。 对于已经…

精品PPT | 微信云原生大数据平台构建及落地实践.pptx

一、大数据上云概述 1.为什么大数据要上云 2.微信大数据平台架构演进 二、大数据上云基础建设 1.统一编排 2.Pod 设计及大数据配套能力 3.计算组件云环境适配 三、稳定性及效率提升 1.K8S 集群稳定性与弹性配额 2.可观测性与智能运维

基于OpenCV C++的网络实时视频流传输——Windows下使用TCP/IP编程原理

1.TCP/IP编程 1.1 概念 IP 是英文 Internet Protocol (网络之间互连的协议)的缩写,也就是为计算机网络相互连接进行通信而设计的协议。任一系统,只要遵守 IP协议就可以与因特网互连互通。 所谓IP地址就是给每个遵循tcp/ip协议连…

[QT开发_音乐播放器项目笔记01]

目录 一:常用类 26 QByteArray 是 Qt 框架中的一个类,用于处理字节数组。它提供了动态大小的字节数组,可以用于存储和操作二进制数据,比如文件内容、网络数据等。 QT项目记录: 一:常用类 26 QByteArray…

二叉树的广度优先搜索BFS(两种实现方法)

import java.util.HashMap; import java.util.LinkedList; import java.util.Queue;public class test15 {public static class Node{public int value;public Node left;public Node right;public Node(int data){this.value data;}}//按层次遍历二叉树并打印每个节点的值&am…

【JavaScript】详解JavaScript语法

文章目录 一、变量和数据类型二、运算符三、条件语句四、循环语句五、函数六、对象和数组七、ES6新特性八、实际应用案例 JavaScript是一门广泛应用于Web开发的编程语言。掌握JavaScript语法是成为前端开发者的第一步。本文将详细介绍JavaScript的基本语法,包括变量…

Python技能达到这个水平,高薪就业不是梦

一,高薪就业的必备基础 要达到高薪就业的水平,Python开发者通常需要具备以下几方面的技能和经验: 如需Python籽料直接戳: 2024年最新python教程全套,学完即可进大厂!(附全套视频 下载&#xf…

TypeScript基础【学习笔记】

一、TypeScript 开发环境搭建 下载并安装 Node.js使用 npm 全局安装 typescript 进入命令行输入:npm i -g typescript 创建一个 ts 文件使用 tsc 对 ts 文件进行编译 进入命令行进入 ts 文件所在目录执行命令:tsc xxx.ts 二、基本类型 类型声明 通过类型…

Appium: 手机应用自动化测试(二)

前言 上一篇文章地址: Appium: 手机应用自动化测试(一)-CSDN博客 下一篇文章地址: 暂无 一、元素定位 通过上一节,我们了解到可以通过adb获取当前界面的元素信息,获取如下: This XML file does not appear to h…

差速解算程序,基于C++语言

下面是一个简单的 C 程序示例,用于计算两轮差速机器人的运动学解算。这个程序包括了运动学正解和逆解的实现。 我们将定义一个类 DiffDriveSolver,其中包含了正解和逆解的函数。此外,我们还将定义一个简单的测试函数来演示如何使用这个类。 …

Fusion360点击登录后没有跳转至浏览器

今日Fusion360崩溃后重启程序,点击“登录”之后没有跳转到浏览器登陆界面。搜了一下找到解决方案: 访问 http://login.autodesk360.com/ 并登录Autodesk账号。重新启动Fusion 360.

软件测试必备 - 14个接口与自动化测试练习网站

随着互联网和移动应用的快速发展,接口和自动化测试的重要性日益凸显。越来越多的企业开始重视API测试,因为它不仅能提升开发效率,还能确保系统的稳定性和安全性。这些练习网站为测试人员提供了宝贵的资源,帮助他们掌握必要的技能,应对日益复杂的测试需求。 在软件测试的世…

如何将远程修改同步到个人fork仓库

1、添加 远程上游仓库 // git remote add <remote-name> <url> git remote add upstream https://github.com/Soft/someproject.git //远程主干仓库 git remote add origin https://github.com/Demodevelop/someproject.git //远程仓库的fork 仓库 需要将远程…

【Linux】TCP全解析:构建可靠的网络通信桥梁

文章目录 前言1. TCP 协议概述2. TCP报头结构3. 如何理解封装和解包呢&#xff1f;4. TCP的可靠性机制4.1 TCP的确认应答机制 4.2 超时重传机制5. TCP链接管理机制5.1 经典面试题&#xff1a;为什么建立连接是三次握手&#xff1f;5.2 经典面试题&#xff1a;为什么要进行四次挥…

第10章、dva介绍与环境搭建;

一、介绍与环境搭建; 1、介绍; dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。 2、特性; 易学易用:仅有 6 个API,对 redux 用户尤其友好,配合 umi 使用…