Centos-7.2 下搭建 Zookeeper-3.5.3 集群的搭建与测试

zookeeper-3.5.3-beta 配置详解 阅读详情



《 Centos7下Zookeeper集群的搭建与测试 》




前言:

在这儿通过搭建三个 zookeeper 实例,实现 zookeeper 的集群环境的搭建工作,在实际开发工作中,将对应的 zookeeper 实例修改为各个 zookeeper 服务器节点即可实现同样的效果。
如果对 zookeeper 的相关操作,不是很熟悉,建议先从 《 搭建单机版 Zookeeper 分布式应用程序协调服务 》开始!!!



搭建环境:

操作系统:Centos7

zookeeper 版本:zookeeper-3.5.3

JDK 版本 : jdk-1.8

zookeeper-3.5.3 下载 http://download.youkuaiyun.com/download/hello_world_qwp/10222305


1、搭建 zookeeper 前准备

在这儿手首先需要先安装 JDK 环境哟 《 Linux下Jdk1.8的安装与环境变量配置教程 》

1)、存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里,所以在这儿需要创建三个 “数据文件” 目录:

“ mkdir /home/temp/cluster_zk/data/zk_data_001 -p ”
“ mkdir /home/temp/cluster_zk/data/zk_data_002 -p ”
“ mkdir /home/temp/cluster_zk/data/zk_data_003 -p ”
创建完成后,如下图:





注意:创建完成后,在每个 data 目录下,创建一个 myid,直接输入命令 “ vi myid ”,输入值保存即可,id 范围: 1001~1003 后面好用!
或者输入命令 “ echo "1001">myid ” 进行设值,输入命令 “ cat myid ” 可以查看是否设值成功,这个比较好用哟!!!


2)、日志的目录,将日志存放在指定的日志目录中:
“ mkdir /home/temp/cluster_zk/logs/zk_logs_001 -p ”
“ mkdir /home/temp/cluster_zk/logs/zk_logs_002 -p ”
“ mkdir /home/temp/cluster_zk/logs/zk_logs_003 -p ”
创建完成后,如下图:




2、创建三个 zookeeper 实例:

“ cp zookeeper-3.5.3-beta /usr/local/zk_cluster/zk_service_001 -r ”
“ cp zookeeper-3.5.3-beta /usr/local/zk_cluster/zk_service_002 -r ”
“ cp zookeeper-3.5.3-beta /usr/local/zk_cluster/zk_service_003 -r ”
创建完成后,如下图:




3、修改 zookeeper 配置文件:

使用端口范围:2001~2003

配置详解:

# zookeeper 中的一个时间单元,以毫秒为单位  
tickTime=2000  
# follower 在启动过程中,会从leader同步所有最新数据,然后确定自己能够对外服务的起始状态。  
# leader 允许在 initLimit 时间内完成这个工作  
initLimit=10  
# 如果 leader 发出心跳包在 syncLimit 之后,还没有从 follower 那里收到响应,那么就认为这个已经不在线了  
syncLimit=5  
# 存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。  
# 建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。  
dataDir=/home/temp/cluster_zk/data/zk_data_001/
# 在这个指定了日志的目录,日志存放在指定的日志目录中  
dataLogDir=/home/temp/cluster_zk/logs/zk_logs_001/
# 客户端连接server的端口,即对外服务端口  
clientPort=2001  
# 单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,  
# 如果设置为0,那么表明不作任何限制  
#maxClientCnxns=60  
# 这个参数和下面参数配合使用  
# 指定了需要保留的文件数目。默认是保留3个  
#autopurge.snapRetainCount=3  
# 3.4.0 及之后版本,zookeeper 提供了自动清理事务日志和快照文件的功能,  
# 这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,  
# 0表示不开启自动清理功能  
#autopurge.purgeInterval=1  
# 这儿三台机器都可以一样
# 语法格式:server + myid = IP + 选举端口 + 投票端口
server.1001=192.168.78.141:3001:4001
server.1002=192.168.78.141:3002:4002
server.1003=192.168.78.141:3003:4003




zookeeper 实例一:zk_service_001 配置后,如下图:




zookeeper 实例二:zk_service_002 配置后,如下图:




zookeeper 实例三:zk_service_003 配置后,如下图:




注意:需要先将 zookeeper 的配置文件修改为 “ zoo.cfg ”,不能直接使用 “ zoo_simple.cfg ” 配置文件,不然后面会报错;


4、编写 zookeeper 集群启动脚本儿

为了方便启动节点,不用每次都去单个节点启动,这儿编写一个启动脚本儿,输入命令 “ vi zk_cluster_start_all.sh ” ,
启动脚本儿创建完成后,还需要新增可执行的权限,输入命令 “ chmod +x zk_cluster_start_all.sh ” ,如下图:




脚本儿内容:





测试启动脚本儿,如下图:




5、编写 zookeeper 集群停止脚本儿

不用每次都去单个节点停止,这儿再编写一个停止脚本儿,输入命令 “ vi zk_cluster_stop_all.sh ” ,
zookeeper 集群服务停止脚本儿创建完成后,还需要新增可执行的权限,输入命令 “ chmod +x zk_cluster_stop_all.sh ” ,如下图:




测试停止脚本儿,如下图:




6、zookeeper 集群环境测试

1)、连接到 zookeeper 实例一 
输入命令 “ zk_service_001/bin/zkCli.sh -server 192.168.78.141:2001 ” 
当然也可以直接输入命令 “  zk_service_001/bin/zkCli.sh ” 进行连接,
关于这个连接命令没有特殊要求,上面个连接命令是我个人习惯!!!
并新建一个永久节点,输入命令 “ create /zk/node_001 huazai ”
获取节点的元数据,输入命令 “ get /zk/node_001 ”
操作内容如下图:




2)、查看节点同步情况,连接到 zookeeper 实例二
输入命令 “ zk_service_002/bin/zkCli.sh -server 192.168.78.141:2002 ” 




3)、查看节点同步情况,连接到 zookeeper 实例三
输入命令 “ zk_service_003/bin/zkCli.sh -server 192.168.78.141:2003 ” 




7、zookeeper 主从节点测试

在一个集群环境中,当一个 “ leader ” 实力宕机的时候,从节点 “ follower ” 自动选举;
在剩余的  “ follower ” 中选举出一个 “ leader ” ,让生产环境可以继续正常的工作,这就是集群实际存在的意义。
下面我将模拟集群中的 “ leader ” 主机出现宕机的情况,也就是把 zookeeper 实例二干掉,在查看状态时;
发现 zookeeper 实例三被选举为了 “ leader ” 了。
如下图:






在集群启动时,你可能遇到 zookeeper 集群启动成功,但是链接失败的问题如下图:


解决方案已经为你准备,拿去不谢!《 zookeeper 集群启动失败 》


其中涉及到 zookeeper 节点的操作,可以参考这儿 《 zookeeper_cli 客户端命令实操 》



在这儿再介绍两个在 zookeeper 使用上比较多的场景或比较实用的场景:

  • 一)、共享锁(Locks)
 共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得了这个锁,如果不是那么它就调用 exists(String path, boolean watch) 方法并监控 Zookeeper 上目录节点列表的变化,一直到自己创建的节点是列表中最小编号的目录节点,从而获得锁,释放锁很简单,只要删除前面它自己所创建的目录节点就行了。


  • 二)、队列管理
Zookeeper 可以处理两种类型的队列:
1)、当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达,这种是同步队列。
2)、 队列按照 FIFO 方式进行入队和出队操作,例如实现生产者和消费者模型。
同步队列用 Zookeeper 实现的实现思路如下:
 创建一个父目录 /synchronizing,每个成员都监控标志(Set Watch)位目录 /synchronizing/start 是否存在,然后每个成员都加入这个队列,加入队列的方式就是创建 /synchronizing/member_i 的临时目录节点,然后每个成员获取 / synchronizing 目录的所有目录节点,也就是 member_i。判断 i 的值是否已经是成员的个数,如果小于成员个数等待 /synchronizing/start 的出现,如果已经相等就创建 /synchronizing/start。











好了,关于 zookeeper 集群环境的搭建就到此结束了,如果还有什么疑问或遇到什么问题,可以给我留言。
歇后语:“共同学习,共同进步”,也希望大家多多关注CSND的IT社区。
需要了解更多关于 zookeeper 相关的内容,请点击下面 图标 进入官网:


详解centos7+zookeeper3.5.8集群搭建 zookeeper的集群搭建zookeeper集群搭建准备环境创建集群测试集群 zookeeper集群搭建 zookeeper的单机部署网上很多参考,本篇主要详解zookeeper的集群搭建以及各个角色的变化情况,搭建环境是虚拟机,仅供学习参考。 准备环境 1.虚拟机环境:    Windows10    VMware10 2.zookeeper环境:    CentOS 7    JDK11    Zookeepr 3.5.8 创建集群 1.准备复制多个zk文件夹 2.配置每个实例的端口与数据存储位置: 阅读详情

相关推荐

Kafka集群搭建

1、环境: centos7 kafka_2.10-0.10.2.1 zookeeper-3.5.2 jdk1.8 2、前提: 安装JDK 安装zookeeper 3、在master上将kafka安装包上传到Linu的/opt/softWare/kafka目录下并解压 4、将/opt/softWare/kafka分发到其他服务器 scp -r kafka slaves1:/...

hyj 241

Zookeeper3.5.7版本——Zookeeper的概述、工作机制、特点、数据结构及应用场景

Zookeeper3.5.7版本——Zookeeper的概述、工作机制、特点、数据结构及应用场景

小志的博客 3732

zookeeper-3.5.3-beta

zookeeper-3.5.3-beta

在Linux上安装Zookeeper集群(zookeeper-3.5.9)

记录:455 场景:在CentOS 7.9操作系统上,使用zookeeper-3.5.9版本,在三台机器上,安装Zookeeper集群。

zhangbeizhen18的博客 3442

zookeeper-3.5.3 新版分布式应用程序协调服务 优快云 下载

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。 下载解压后,将.gz结尾的zookeeper 包上传到 Linux 服务器,就可以开始操作了。

zookeeper-3.5.3-beta.tar.gz压缩包

zookeeper压缩包,解压即可使用,欢迎下载。本人博客有相关安装教程可参考。

Centos7.4+zookeeper3.5.8 + hadoop3.2.1+Hbase2.2.5完全分布式+高可用(HA)完全分布式集群搭建

本文档详细描述了Centos7.4+zookeeper3.5.8 + hadoop3.2.1+Hbase2.2.5完全分布式+高可用(HA)集群的搭建过程,以及验证等操作使用方法。 hadoop高可用完全分布式集群搭建 Centos7.4+zookeeper3.5.8 + hadoop3.2.1+Hbase2.2.5完全分布式+高可用(HA) 服务器环境准备 主机列表 主机IP 主机名 配置 操作系统 安装软件 运行进程 192.168.26.100 hd100 2C 4G CentO

peng_s_w的专栏 1714

zookeeper-3.5.3-beta.tar.gr

zookeeper-3.5.3-beta.tar.gr 工具包 与Dubbo一起使用

Hadoop集群搭建终极实验(7) _分布式联邦高可用集群部署(Federation+HA)

参考文档: https://yq.aliyun.com/articles/335669?spm=a2c4e.11155435.0.0.61fd5f09CD5EDz https://blog.51cto.com/sstudent/1392447 前提实验:本实验是基于Federation, Zookeeper和HA这三个实验的综合Hadoop集群部署实验,在前提实验完成的基础上继续进行HDFS...

qq_35447918的博客 730

zookeeper-3.5.3压缩包

zookeeper-3.5.3压缩包 解压即可使用 注: 需安装JDK , 解压完之后需要根据里面的一个文档修改一个配置文件的路径 修改完毕即可直接打开

FFmpeg视频缩放终极指南:从基础命令到保持宽高比的5种实战技巧

本文是FFmpeg视频缩放的终极指南,详细讲解了从基础命令到保持宽高比的5种实战技巧。针对不同平台(如抖音、B站、Instagram)的分辨率要求,提供了具体的参数模板和批量处理脚本,帮助内容创作者高效、精准地调整视频大小,避免画面变形或黑边问题,实现多平台适配。

juice的博客 457

hbase的集群搭建

目录 hbase的集群搭建 安装准备 安装步骤 配置环境变量 配置hbase-env.sh 配置hbase-site.xml 配置backup-masters 配置conf/regionservers 把hadoop的配置文件core-site.xml和hdfs-site.xml复制到hbase的配置文件目录下 ...

qq_36969486的博客 581

Isograph Reliability Workbench 14实战:从零构建故障树分析模型

本文以“马达不转”为例,手把手教你使用Isograph Reliability Workbench 14从零构建故障树分析模型。内容涵盖创建工程、定义顶事件、添加逻辑门与基础事件等核心步骤,并介绍了模型检查与定性定量分析,帮助你系统掌握这一强大的可靠性工程工具。

weixin_29309213的博客 356

zookeeper集群的搭建以及hadoop ha的相关配置

1、环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 master作为active主机,data1作为standby备用机,三台机器均作为数据节点,yarn资源管理器在master上开启,在data1上备用,data1上开启历史服务器 主要参考见下表 master 192.168.1.215 Namenode DataNode Quo...

weixin_30701521的博客 112

深入解析EtherCAT通讯DS402协议下的伺服电机控制模式选择与配置

本文深入解析了EtherCAT通讯DS402协议下的伺服电机控制模式选择与配置,详细介绍了六种核心控制模式(如PPM、CSP、CSV、CST)的应用场景及实战技巧。通过EtherCAT和DS402协议的高效配合,实现工业自动化中伺服电机的精准控制,提升设备性能与稳定性。

h0i1j2k3l的博客 1173

仿真每日一练 | 有限元模态分析详解

结构的振动一直是工业领域产品分析的重点,在振动的仿真分析中,模态分析是其最基本的分析类型,通过研究结构的固有频率和振型对产品的设计提供指导。2.2、在interaction模块,通过special->Spring,在各点之间分别创建弹簧单元,弹簧刚度为1000。2.1、在interaction模块,创建两个RP点,与两侧RP点各间隔100大小,如图3所示;其中M、K、C均为n*n的矩阵,s、x、v为n*1的矢量,n为系统自由度数量。3、在Assembly模块创建装配体,两点之间的距离为100,如图2所示;

ansysxuexizhe的博客 1654

hive 2.1.1 mysql_Hive2.1.1集群搭建

软件环境:linux系统: CentOS6.7Hadoop版本: 2.6.5zookeeper版本: 3.4.8主机配置:一共m1, m2, m3这五部机, 每部主机的用户名都为centos192.168.179.201: m1192.168.179.202: m2192.168.179.203: m3m1: Zookeeper, Namenode, DataNode, ResourceManag...

weixin_42137028的博客 190

【从零开始学习 SystemVerilog】1.1、SystemVerilog 概述

【从零开始学习 SystemVerilog】1.1、SystemVerilog 概述

努力,加油每一天鸭~ 1036

KafkaManager(CMAK)二进制安装

## 一、安装包准备 测试环境(单机,无安全认证) 操作系统 版本 CentOS Linux release x86_64 7.5.1804 (Core) 测试软件版本 软件 版本 zookeeper 3.7.0 kafka 2.4.0 cmak 3.0.0.5 jdk 11.0.12 版本要求 zookeeper需要在3.5.0以上版本 kafka版本Kafka 0.8.. or 0.9.. or 0.10.. or 0.11… cmak版本3.0.0

xiaohu的博客 2241

Allegro 中复制一部分PCB到另一个PCB中去

引言:自从学了allegro后,我每天快乐地再拉线,一开心肯定出事情。不料今天一高兴,把本来在5层的铜皮直接在4层画起来了。不过,幸好我知道换层,才省了又要画铜皮的时间。好了,开干,如果要将其他层的铜皮换到想要换到的层上,就需要这个命令。

tianpu2320959696的博客 963

《一》:LBE,VR 大空间系列——场景环境需求解析

当前,大量 VR 体验活动在室内场地开展。因此,对于场地照明有特定要求:除天花板外,场地的所有表面均需有照明覆盖。这是为了保证玩家无论处于场地的哪个位置,地面与墙面都不会出现明显的影子。场地内不建议安装射灯或高强度的点光源,若已安装此类灯具,需使用柔光板进行遮盖。此外,要避免在阳光下使用 VR 设备台。参考图(请忽略其中Maker标签)

unitygroup的博客 941

CentOS7环境ZooKeeper集群的安装

目录 前提条件 步骤 ZooKeeper集群规划 下载解压 配置环境变量 配置服务器编号 配置zoo.cfg 分别启动zk服务 查看zk状态 进入zk客户端命令行测试 zk集群启动停止脚本 前提条件 拥有3台CentOS7机器,并且都安装好jdk8 步骤 ZooKeeper集群规划 node2 node3 node4 zk zk zk 下载解压 下载apache-zookeeper-3.5.7-bin.tar.gz Inde

大头皮鞋的博客 5376

工业相机通用SDK封装实战:C#硬件抽象层(HAL)实现多品牌无缝切换

本文介绍了一种解决工业相机SDK碎片化问题的通用解决方案。作者基于多年工业视觉项目经验,提出通过硬件抽象层(HAL)和适配器模式封装不同品牌相机的SDK差异,实现统一的相机操作接口。文章详细分析了传统直接对接SDK方式的四大痛点:接口碎片化、维护成本高、业务耦合度高和稳定性差,并给出了分层架构设计方案。该方案采用三层架构(业务层、抽象层、实现层),遵循最小接口原则和高内聚低耦合等设计理念,定义了包括触发模式、像素格式等通用枚举类型,以及图像数据结构等核心抽象。最终实现的HAL层能够支持多种品牌相机,显著降低

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 574

hadoop3.2.2集群搭建

说明:本文以HDFS High Availability Using the Quorum Journal Manager模式搭建hadoop3.2.0集群。 环境 CentOS7、jdk1.8.0_181、zookeeper3.4.13、hadoop3.2.0 虚拟机安装CentOS7三台,如下: hostname IP storm 192.168.56.200 st...

LW_ICE 6944

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Linux安装zookeeper集群(CentOS7+Zookeeper3.4.10)

Linux安装zookeeper集群(CentOS7+Zookeeper3.4.10) 版本号:CentOS7 Zookeeper3.4.10 JDK1.8

pucao_cug的专栏 2万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: zookeeper_cli 客户端命令实战操作详解
下一篇: zookeeper 集群启动时 出现 Error contacting service. It is probably not running 的解决办法
TechBro华仔
TechBro华仔 优质创作者: Java技术领域 优质创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄11年 5万+粉丝 430原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechBro华仔

日拱一卒无有尽,功不唐捐终入海

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值