CentOS7上从0开始搭建Zookeeper集群

news2025/1/11 9:10:09

CentOS7上搭建Zookeeper集群

  • 环境准备
  • 安装jdk
  • 安装zookeeper
    • 下载zookeeper
    • 解压zookeeper
    • 修改zookeeper配置文件
  • 搭建zookeeper集群
    • 修改zoo.cfg文件
    • 添加myid文件
    • 启动zookeeper集群

环境准备

首先你需要准备三台zookeeper(待会会讲zookeeper的安装流程),可以安装一台之后进行克隆。同时需要开放以下三个端口

  • 2181:client连接zookeeper的端口
  • 2888:集群内通信端口
  • 3888:leader选举使用

你可以选择开放端口或关闭防火墙,开放端口命令:

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
firewall-cmd --reload

永久关闭防火墙命令:

systemctl disable --now firewalld

安装jdk

如图zookeeper需要1.8或以上版本的java(图片截自zookeeper官网):
在这里插入图片描述

我之前写过一篇安装jdk8的文章,你们可以直接按照那片文章来:https://blog.csdn.net/m0_51510236/article/details/113739345

安装zookeeper

下载zookeeper

在官网当中我们可以看到最新的稳定版本是 3.8.2
在这里插入图片描述

我们就下载这个版本,下载命令:

wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.2/apache-zookeeper-3.8.2-bin.tar.gz

下载后如图:
在这里插入图片描述

解压zookeeper

因为下载的是压缩包,所以直接解压即可安装成功,我打算将zookeeper安装在 /opt/server 目录下,所以执行下面这行两行命令:

mkdir -p /opt/server
tar -zxvf apache-zookeeper-3.8.2-bin.tar.gz -C /opt/server

解压后如图:
在这里插入图片描述

修改zookeeper配置文件

我们执行下面两行命令来创建这个配置文件:

cd apache-zookeeper-3.8.2-bin/conf/
cp zoo_sample.cfg zoo.cfg

执行如图:
在这里插入图片描述

然后我们修改它:

vim zoo.cfg

可选修改内容(也可以保持默认):
在这里插入图片描述

接下来我们就可以尝试启动单机版zookeeper了,到zookeeper根目录下执行这行命令:

./bin/zkServer.sh start

启动后可以查看:
在这里插入图片描述

我们再执行这行命令查看zookeeper状态:

./bin/zkServer.sh status

可以看到是单机启动:
在这里插入图片描述

搭建zookeeper集群

上面我们讲解了如何安装zookeeper,接下来我们搭建zookeeper集群。我们需要三台zookeeper。你可以选择克隆,也可以选择直接安装三台。我来看看我的IP地址配置:

IP地址用途
192.168.1.181第一台zookeeper
192.168.1.182第二台zookeeper
192.168.1.183第三台zookeeper

我这里就直接克隆出了这三台,且均已连接上:
在这里插入图片描述

修改zoo.cfg文件

根据上面的IP地址我们来修改一下 zoo.cfg 文件:

cd /opt/server/apache-zookeeper-3.8.2-bin
vim conf/zoo.cfg

三台服务器都加上那么一个配置(注意修改IP地址):

server.1=192.168.1.181:2888:3888
server.2=192.168.1.182:2888:3888
server.3=192.168.1.183:2888:3888

加上后如图:
在这里插入图片描述

添加myid文件

我们需要在zookeeper的 dataDir (默认在/tmp/zookeeper下,如果修改了注意修改myid文件位置)下新增一个myid文件,这个文件的值取决于你在上一步在zoo.cfg文件下配置的值:
在这里插入图片描述

三台服务器分别执行下面这行代码(如果你修改了zookeeper默认的数据目录那么注意修改myid的文件位置):

  • 192.168.1.181
echo 1 > /tmp/zookeeper/myid
  • 192.168.1.182
echo 2 > /tmp/zookeeper/myid
  • 192.168.1.183
echo 3 > /tmp/zookeeper/myid

执行后如图:
在这里插入图片描述

启动zookeeper集群

启动命令一样,我们在三台服务器上都执行下面这行命令:

# 来到安装zookeeper的目录
cd /opt/server/apache-zookeeper-3.8.2-bin
# 启动zookeeper
./bin/zkServer.sh start

然后我们执行下面这行命令查看zookeeper集群的状态:

./bin/zkServer.sh status

可以看到一主两从的zookeeper集群:
在这里插入图片描述
关注我,下篇文章将如何在SpringBoot当中使用zookeeper实现分布式锁功能。

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

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

相关文章

运算放大器典型应用(二)

文章目录 十、采样保持电路十一、有源滤波电路二阶有源低通滤波器问题二阶截至频率如何算 十、采样保持电路 十一、有源滤波电路 给单片机供电R一般大于4.1Ω小于10Ω,太大会产生功耗 二阶有源低通滤波器问题 二阶截至频率如何算 通频带比较窄可以用这种&#xff0…

IDEA启动时选择项目

IDEA默认情况下,启动时会选择上一次打开的项目继续。如果我们希望每次启动时都需要手动选择项目,可以按照下列顺序修改: 【File】-【Settings】-【Apperance&Behavior】-【System Settings】-【Startup/Shutdown】 取消选中Reopen last…

硬件总线基础07:PCIe总线基础-事务层(2)

说在开头:关于哲学 在《东邪西毒》电影里欧阳锋说:“看来你的年纪也有四十出头了,这四十多年来,总有些事你是不愿再提,或是有些人不想再见,有的人曾经对不起你,也许你想过杀了他们,…

PyCharm Clion IDEA专业版安装图文教程

1.下载专业版 PyCharm Download PyCharm: Python IDE for Professional Developers by JetBrains 2.以2023.1.4为例 3.next 4.next 5.next 6.Install 7.Finish 8.Activate 链接:https://pan.baidu.com/s/1N9n8wGgkvjfOX8oDrfX2Hw 提取码:yyds

知识图谱实战应用28-基于py2neo的ICD-11疾病分类的知识图谱的查询与问答实战应用

大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用28-基于py2neo的ICD-11疾病分类的知识图谱的查询与问答实战应用。使用基于py2neo的ICD-11疾病分类知识图谱,我们能够像探索一座生物医学宇宙般,穿梭在各种疾病之间。这个神奇的图谱可以帮助我们揭示各种疾病之间复杂而…

1014. 最佳观光组合

1014. 最佳观光组合 原题链接:完成情况:解题思路:参考代码: 原题链接: 1014. 最佳观光组合 https://editor.csdn.net/md/?not_checkout1&spm1000.2115.3001.5352 完成情况: 解题思路: …

如何把视频格式转换成mp4?支持的格式种类非常多。

如何把视频格式转换成mp4?随着计算机技术的迅猛发展,我们现在有着各种各样的视频格式可供选择,平时我们都知道的mp4、flv、mov、mkv、avi、wmv等,都是视频格式的种类。其中,MP4是一种具有极佳兼容性的视频格式&#xf…

Golang goroutine 进程、线程、并发、并行

goroutine 看一个需求 需求:要求统计1-200000000000的数字中,哪些是素数? 分析思路: 1)传统的方法,就是使用一个循环,循环的判断各个数是不是素数(一个任务就分配给一个cpu去做,这样很不划算…

光谱通用款积分球

随着惯性约束聚变(ICF)物理理论的不断发展以及精密物理实验要求的不断提高,激光驱动器的光束路数急剧增多,光路长度和元器件数目成倍增长。模块化是新一代激光驱动器的发展趋势。对于高功率激光多参数测量系统,模块化设…

解决2K/4K高分屏下Vmware等虚拟机下Kail Linux界面显示问题

问题现象 在我们日常使用VirtualBox、Vmware workstation、Hyper-V等虚拟机安装使用Kali系统,在2K/4K高分辨率电脑下Kali系统界面显示太小,包括各种软件及命令终端字体均无法很直观的看出,影响我们的正常测试及使用。 常规处理思路 很多人…

Vue3通过 directive 实现 el-dropdown下拉菜单项最小宽度等于内容宽度

文章目录 1. 初始效果与最终效果2. 分析3. 解决思路:directives4. 代码实现小结 1. 初始效果与最终效果 原始效果最终效果 2. 分析 el-dropdown API 并不提供配置项让我们实现下拉菜单项最小宽度等于内容宽度,但我们能发现它提供了 popper-class 用于自…

Spring学习|使用JavaConfig实现bean配置、代理模式:静态代理模式、动态代理模式(通俗易懂)

使用JavaConfig实现bean配置 正常我们在spring容器中注册一个Bean,我们需要去bean.xml中去配置,但是我们也可以用JavaConfig类,来去充当bean.xml的作用 首先,我们创建一个User类,Component代表他是一个bean,方便让spring容器来扫…

SQL优化--插入数据

插入数据(insert优化) 如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行优化。 insert into tb_test values(1,tom); insert into tb_test values(2,cat); insert into tb_test values(3,jerry); 优化方案一&#xff1…

OJ练习第170题——最大间距(桶算法)

最大间距 力扣链接:164. 最大间距 题目描述 给定一个无序的数组 nums,返回 数组在排序之后,相邻元素之间最大的差值 。如果数组元素个数小于 2,则返回 0 。 您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法…

软件结构化设计-架构真题(二十七)

(2019年)进程P有8个页面,页号分别为0~7,状态位等于1和0分别表示在内存和不在内部才能。假设系统给P分配4个存储块,如果进程P要访问页面6不在内存,那么应该淘汰号是多少? 答案:页号2 …

docker 方式安装mysql 主从方式keepalived实现高可用

一、环境介绍 二、MySQL安装 在两台服务器上都安装mysql 1、拉取镜像 docker pull mysql:8.0.272、创建挂载目录 mkdir -p /data/mysql/3、运行容器 主节点 docker run \--restartalways \--name master_mysql -p 3306:3306 \-e MYSQL_ROOT_PASSWORD123456 -d \-v /data/m…

glTF和GLB有什么区别?

推荐:使用 NSDT场景编辑器快速搭建3D应用场景 自1960年代末开始以来,3D扫描突飞猛进,彻底改变了我们创建真实世界物体和环境的数字模型的方式。虽然很容易考虑它在建筑、工程和游戏等领域的使用,但实际应用要广泛得多。2023年&…

Fiddler实现android手机抓包

目录 一、fiddler的简介二、安装fiddler三、fiddler设置1.设置HTTPS2.设置允许远程连接3. 重启fillder,使得配置生效4. 查看端口监听 四、android端设置1、首先查看电脑的 IP 地址,确保手机和电脑在同一个局域网内2、设置代理 五、抓包测试 原文链接 一、…

Verilog零基础入门(边看边练与测试仿真)-时序逻辑-笔记(4-6讲)

文章目录 第四讲第五讲第六讲 第四讲 1、计数器 代码: //计数器 timescale 1ns/10ps module counter(clk,res,y); input clk; input res; output[7:0] y;reg[7:0] y; wire[7:0] sum;//1运算的结果(1&#xff0…

平安大视野解读宏观经济:看好中国经济长期潜力,资产配置价值凸显

“资产配置多元化是投资中唯一的免费午餐。” 1990年,哈里马科维茨因为他提出的“资产组合选择理论”获得了诺贝尔经济学奖。 如何看待当前国内外宏观经济,如何通过资产配置提升家庭财富健康度?9月4日,平安银行联合《21世纪经济报…