当前位置: 首页 > news >正文

CentOS7上从0开始搭建Zookeeper集群

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.lryc.cn/news/167322.html

相关文章:

  • 康耐视读码器DataMan软件详细使用步骤
  • 408强化(番外)文件管理
  • iptables 防火墙配置
  • 面试官:我们深入聊聊Java虚拟机吧
  • 【电源专题】案例:异常样机为什么只在40%以下电量时与其他样机显示电量差异10%,40%以上电量差异却都在5%以内。
  • React 全栈体系(七)
  • NVIDIA 显卡硬件支持的精度模式
  • 【Java|golang】210. 课程表 II---拓扑排序
  • STM32CubeMX systick bug?
  • 徐亦达机器学习:Kalman Filter 卡尔曼滤波笔记 (一)
  • Java和vue的包含数组组件contains、includes
  • OpenCV_CUDA_VS编译安装
  • 基于减法优化SABO优化ELM(SABO-ELM)负荷预测(Matlab代码实现)
  • 记录第一个启动代码的诞生
  • 基于STM32的简化版智能手表
  • 揭秘弹幕游戏制作
  • 2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目
  • 【TCPDF】使用TCPDF导出PDF文件
  • MacBook苹果电脑重装、降级系统
  • Java 解决long类型数据在前后端传递失真问题
  • IDEA的快捷键大全
  • 简单记一下Vue router 路由中使用 vue-i18n 进行标题国际化
  • 【Gitea】 Post “http://localhost:3000/api/internal/hook/pre-receive/aa/bbb“ 异常
  • 如何使用element-ui相关组件如:el-select,el-table,el-switch,el-pagination,el-dialog
  • 微信小程序+echart实现点亮旅游地图
  • Git(8)——Git命令总结
  • 9.15 滴滴笔试
  • 有趣的设计模式——适配器模式让两脚插头也能使用三孔插板
  • 2.10 PE结构:重建重定位表结构
  • 关于content-type的理解