Zookeeper集群搭建与配置文件详解

zookeeper集群配置与配置文件详解 1、配置文件解读 tickTime=2000 //leader和follower之间心跳检测时间 initLimit=10 //初始化连接次数是10次,和第一个配置连在一起意思就是10*2000 20秒之内还没连接成功,说明follower是有故障的。 syncLimit=5 //leader下发给follower同步数据,如果5次重试机会,超过5次则表示认为follower存在故障。 dataDir=/tmp/zookeeper // 数据持久化目录 clientPort=2181 // 客户端 阅读详情

软件环境:

Linux服务器一台、三台、五台(2*n+1台);

Java jdk 1.8;

zookeeper 3.4.6版;

https://archive.apache.org/dist/zookeeper/

复制配置文件

cp zoo_sample.cfg zoo.cfg

配置zoo.cfg文件

# The number of milliseconds of each tick
#时间间隔
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/zookeeper/zkdata
dataLogDir=/opt/zookeeper/zkdatalog
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
#2888 心跳端口, 3888 选举端口
server.1=192.168.13.128:2888:3888
server.2=192.168.13.130:2888:3888
server.3=192.168.13.131:2888:3888

在文件/opt/zookeeper/zkdata目录下生成myid文件

myid文件是标识本机zookeeper站点的在集群中的位置id

可以使用

递归创建目录
mkdir -p /opt/zookeeper/zkdata

echo "1" > myid

Zookeeper的启动停止状态查看

root@ubuntu-128:/opt/zookeeper/zookeeper-3.4.8/bin# ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
root@ubuntu-128:/opt/zookeeper/zookeeper-3.4.8/bin# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
root@ubuntu-128:/opt/zookeeper/zookeeper-3.4.8/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower
root@ubuntu-128:/opt/zookeeper/zookeeper-3.4.8/bin#

Zookeeper的主进程查看

root@ubuntu-128:/opt/zookeeper/zookeeper-3.4.8/bin# jps
4229 Jps
4174 QuorumPeerMain

Zookeeper集群搭建 — 搭建成功标志

   在任一台机器运行sh zkServer.sh status出现下面两幅图中任一输出结果,说明你的集群成功搭建。

root@ubutu-130:/opt/zookeeper/zookeeper-3.4.8/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader
root@ubutu-131:/opt/zookeeper/zookeeper-3.4.8/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower

Zookeeper集群搭建— 集群配置参数讲解

•myid文件和server.myid;

•zoo.cfg文件;

•log4j. properties文件;

•zkEnv.sh和zkServer.sh文件

# The number of milliseconds of each tick
#时间间隔
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/zookeeper/zkdata
dataLogDir=/opt/zookeeper/zkdatalog
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=192.168.13.128:2888:3888
server.2=192.168.13.130:2888:3888
server.3=192.168.13.131:2888:3888

其中2888 是zk集群通信传输使用的,3888是选举使用的,大家互相查找 ,相互监督,互为节点

这里2888  3888不共用一个端口是因为 我希望节点数据通信的时候,选举也可以正常实现,所以是两个端口,不然当你使用2888数据传输的时候,可能会有数据阻塞,导致选举不通畅!!!

b.预装的zoo.cfg下面默认有五个属性,他们分别是:1.tickTime,2.initLimit,3.syncLimit,4.dataDir,5.clientPort
下面我们来对这五个属性做详细的分析

 (1)tickTime   
——CS通信心跳时间

tick翻译成中文的话就是滴答滴答的意思,连起来就是滴答滴答的时间,寓意心跳间隔,单位是毫秒,系统默认是2000毫秒,也就是间隔两秒心跳一次。

tickTime的意义:客户端与服务器或者服务器与服务器之间维持心跳,也就是每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态,还可以通过心跳来控制Flower跟Leader的通信时间,默认情况下FL的会话时常是心跳间隔的两倍。

# The number of ticks that the initial  synchronization phase can take

(2)initLimit
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。

(3)syncLimit
集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。   

(4)dataDir
该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等。

 来看注释

 # the directory where the snapshot is stored. do not use /tmp for storage, /tmp here is just   example sakes.

不要使用/tmp来做存储快照的目录,/tmp这只是一个案例。在集群zookeeper服务在启动的时候回去读取zoo.cfg这个文件,从这个文件中找到这个属性然后获取它的值也就是dataDir 的路径,它会从这个路径下面读取mydi这个文件,从这个文件中获取要启动的当前服务器的地址,当它找不到这个地址的时候就会抛出异常,我们可以去查看状态
 

[hadoop@hadoop06 data]$ zkServer.sh status
JMX enabled by default
Using config: /app/zookeeper-3.4.5/bin/../conf/zoo.cfg
<span style="color:#ff6600;">Error contacting service. It is probably not running.</span>

这是一个很常见的错误,要想解决这个bug,去查看日志就会有很精准的提示:

java.lang.RuntimeException: My id 5 not in the peer list

所以在创建myid的时候给的值是多少,那么在zoo.cfg里面配置集群信息的时候要准确指出!

c.集群信息的配置
在zoo.cfg这个文件中,配置集群信息是存在一定的格式:service.N =YYY: A:B

N:代表服务器编号(也就是myid里面的值)

YYY:服务器地址

A:表示 Flower 跟 Leader的通信端口,简称服务端内部通信的端口(默认2888)

B:表示 是选举端口(默认是3888)

server.1=hadoop05:2888:3888
server.2=hadoop06:2888:3888
server.3=hadoop07:2888:3888

(5)clientPort

客户端连接的接口,客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181。

启动服务器,可以使用下面 的命令来来查看端口监听情况

服务器(4)--搭建Solr集群+搭建Zookeeper集群(上篇) 背景:上一篇文章重点介绍了一下单机版的Solr搭建过程以及中文分析器的配置,这篇文章则重点介绍一下Solr集群的搭建步骤,以及Zookeeper集群的搭建步骤。由于搭建过程比较繁琐,所以分为两篇介绍,上篇介绍Zookeeper集群的搭建,下篇介绍Solr集群的搭建。 一、整体集群结构 二、Zookeeper     ZooKeeper是一个分布式的 阅读详情

相关推荐

【zookeeper】zookeeper伪集群搭建

本文介绍了zookeeper伪集群搭建的详细步骤。

2301_79976546的博客 599

zookeeper 集群配置

zookeeper 集群配置

m0_72168501的博客 1695

零基础教程:用Python给试卷照片自动切题(有道OCR+PIL完整流程)

本文为零基础用户提供了一套完整的Python自动化切题方案。通过调用有道OCR API识别试卷照片中的题目坐标,并利用PIL库进行精准裁剪,将杂乱的试卷图片自动分割为独立的题目图像。教程详细涵盖了环境搭建、图像预处理、API调用、坐标解析与批量处理全流程,帮助教育工作者和技术爱好者高效处理大量试卷,实现工作流程自动化。

grpc6streamer的博客 1174

Zookeeper安装

zookeeper单机及集群安装部署

qq904748592的博客 9236

记一次springboot集成海康威视SDK过程

一开始没有接触过物联网这块,走了很多弯路,后面还是自己一点点摸索出来的。有个项目,需要对海康的门禁设备进行集成,后台统一管理设备,进行设备人脸数据的下发、删除等操作。3.我还接入了门禁设备的事件监听,门禁所有的事件都会上报到后台服务,这块代码有需要的可以找我。在linux系统中,sdk我使用的是绝对路径,把Linux版本的文件放到服务时,Acs文件夹下的 各个Manage都有现成的代码,可以根据自己的需要调用即可。路径也不要有中文,切记!2.sdk的存放路径不要有中文,不然会出现很多奇怪的问题。

huang_xiaoen的博客 2348

SKF SimPro Quick 4.8.1发布

发布说明可以在SimPro手册的SKF SimPro Quick应用程序的一般部分下找到(帮助→SKF SimPro快速手册→一般→发布说明)。请删除旧版本,请备份您存储在C:\SKF SimPro xxx\files文件夹中的文件以及所有自定义报告模板和表格。我们很高兴地通知您,我们的轴承应用工程软件SKF SimPro Quick 4.8.1可供下载。将新的安装文件下载到本地计算机后,双击它安装向导将打开(按照说明操作)3.安装后,在本地机器上启动SKF SimPro Expert软件。

小韩的博客 1820

Zookeeper集群安装及配置

zookeeper集群只是需要3个服务器分别安装zookeeper服务。【说明】服务器zookeeper个数必须为奇数。

yangchuang11的博客 500

完整内、外期货量化交易系统源码可售

支持客户登录校验,支持所有的实时行情和汇总报价功能、实时资讯(报价,列表,分时,分钟成交明晰,),多线程支持盘后收盘作业下载(日线,5分钟线,15分钟, 30分钟,60分钟线,),支持从服务器下载相关运行配置(来自服务器动态配置信息,如收盘日期等),实现状态条显示。收盘作业包括日线、5分钟线、15分钟线、30分钟、60分钟线、2小时线、4小时线每日分时走势。综合信息栏显示用户账户信息、合约信息、当日委托单记录、当日成交记录、当日平仓记录、当日跟单记录、当日(月/周)排行榜、下单栏、持仓信息;

qq_35600909的博客 1805

安装zookeeper配置集群

initLimit这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是用户连接Zookeeper服务器的客户端,而是Zookeeper服务器集群中连接到Leader的Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。clientPort这个端口就是客户端(应用程序)连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求。C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的Leader服务器交换信息的端口;

u011938827的博客 434

涨薪技术|Kubernetes(k8s)环境部署实战

这两者都是在/etc/docker/daemon.json里修改的,所以我们一起配置了就好了,首先执行下述命令编辑daemon.json:​​​​​​​。安装完成后,可以使用以下命令来查看dashboard访问的端口号​​​​​​​。网络插件CNI也是以容器的方式进行启动​​​​​​​。安装完成后可以检查是否拉取了对应的容器​​​​​​​。再使用以下命令进行安装:​​​​​​​。打开后输入以下内容:​​​​​​​。安装1.19.0版本​​​​​​​。修改IP地址:​​​​​​​。

m0_60889254的博客 1085

Claude Code 处理长任务 + Cursor 专注交互:双栈协作的 3 种分工场景与响应提速 35% 实测

揭示 Claude Code 与 Cursor 在 AI 编程中的本质分工:Claude Code 作为离线式架构师处理跨文件、带约束的长链路重构(如单体拆微服务),Cursor 作为现场交互工程师专注秒级局部编辑;提出按任务切片动态切换的三种工程化协作场景,并给出结构化上下文构建、约束型 Prom

weixin_28728443的博客 123

ZooKeeper集群搭建配置文件导图

ZooKeeper集群搭建配置文件导图

weixin_43424790的博客 180

深入探究ASP.NET Core读取Request.Body的正确方式

前言# 相信大家在使用ASP.NET Core进行开发的时候,肯定会涉及到读取Request.Body的场景,毕竟我们大部分的POST请求都是将数据存放到Http的Body当中。因为笔者日常开发所使用的主要也是ASP.NET Core所以笔者也遇到这这种场景,关于本篇文章所套路的内容,来自于在开发过程中我遇到的关于Request.Body的读取问题。在之前的使用的时候,基本上都是借助搜索引擎搜索的答案,并没有太关注这个,发现自己理解的和正确的使用之间存在很大的误区。故有感而发,便写下此文,以作记录。学无止境

萌兔兔MMQ!! 777

搭建zookeeper集群,并监控集群状态

配置文件的逐行详细解释,帮助你理解每个参数的作用和配置逻辑。:节点无法加入集群,日志报错。

yyeare的博客 1355

金融领域强化学习在高频交易中的应用

强化学习(Reinforcement Learning,简称RL)是一种机器学习范式,通过智能体与环境的交互来学习策略,以最大化累计奖励。与监督学习和无监督学习不同,强化学习依赖于动态的反馈机制,智能体通过试错不断优化决策过程。高频交易(High-Frequency Trading,简称HFT)是指在极短时间内进行的大量金融交易,通常利用算法和计算机系统自动执行交易策略。高频交易依赖于高速的数据处理和决策能力,以捕捉市场中的微小价格波动。状态(State):环境在某一时刻的观测,反映了系统的当前情况。

AI天才研究院 893

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

zookeeper专题:zookeeper集群搭建和客户端连接

文章目录1. Zookeeper 集群模式介绍2. zookeeper集群搭建 1. Zookeeper 集群模式介绍 Zookeeper 集群模式一共有三种类型的角色: ①:Leader: 处理所有的事务请求(写请求),可以处理读请求,集群中只能有一个Leader ②:Follower: 只能处理读请求,同时作为 Leader的候选节点,即如果Leader宕机,Follower节点 要参与到新的Leader选举中,有可能成为新的Leader节点。 ③:Observer: 只能处理读请求。不能参与选举

qq_1149513559的博客 3508

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

关于Linux中搭建zookeeper集群说明

1.安装zookeeper 关于Linux中安装zookeeper说明 2.搭建集群 2.1创建目录 mkdir zkClusters 2.2创建目录 mkdir zk1 zk2 zk3 mkdir {zk1,zk2,zk3}/{data,log} 2.3分别在zk1/zk2/zk3中的data文件夹中创建新的文件myid.其中的内容依次为1/2/3,与zk节点号对应. 2.4将zoo_sample.cfg 复制为zoo1.cfg之后修改配置文件. ...

酸奶盖儿的博客 200

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

zookeeper集群搭建

搭建前提 1.需要安装好jdk 2.检测集群时间是否同步 3.检测防火墙是否关闭 4.检测主机 ip映射有没有配置 步骤: 第一步: 将安装包解压 tar -zxvf zookeeper-3.4.5.tar.gz mv zookeeper-3.4.5 zookeeper(更名可有可无,我这里更名是为了后面路径写起来方便) 第二步: 修改环境变量(注意:有几台服务器修改几台) vi /etc/profile.d/zookeeper.sh(在profile.d里创建zookeeper.sh并编辑)

qq_21853321的博客 1万+

linux环境搭建zookeeper集群教程

进入 zookeeper 配置文件 usr/local/zookeeper/conf/给 zoo_sample.cfg 配置文件重命名为 zoo.cfg配置文件介绍首先 zookeeper 目录下创建 zookeeper 数据和日志的存放目录,并且添加文件读写权限mkdir datamkdir logs修改配置文件集群配置server001、server002、server003表示的是主机名,亦可以写IP地址查看主机名 hostname, 查看更详细的主机信息hostnamectl。

weixin_40471661的博客 1124

zookeeper单机和集群搭建过程详细步骤_单机上如何组建zookeeper集群

是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

2401_84263114的博客 1352

kafka+zookeeper集群搭建

kafka+zookeeper集群搭建

weixin_45023621的博客 1485

ZooKeeper单机、集群模式搭建教程

本文介绍了ZooKeeper单机和集群模式的搭建,并对集群模式的搭建步骤做了详细的讲解以及常见的错误说明。

wangye135的博客 1806

centos7搭建Zookeeper集群

一、简介 本文是在Docker安装Zookeeper及简单使用的基础上展开的。 二、开始搭建集群

unknowna的专栏 293

Linux之zookeeper集群搭建

Linux day08 一、zookeeper常用命令 List item

每日小新 712

Zookeeper集群搭建

本文为Zookeeper伪集群搭建,步骤如下 1、下载apache-zookeeper-3.6.2-bin.tar.gz安装包。下载地址:Zookeeper下载地址

飞雪迎春 618

大数据 Docker Zookeeper 集群环境搭建

为搭建hbase集群环境,预先搭建Zookeeper环境,废话不多说,直接盘他。此文基础Docker及Docker-compose技术,如何搭建Docker及使用请点击这里Zookeeper官方网站搭建版本:3.8.4系统环境: centos7.9.2009。

MrBlueSky的博客 1505
上一篇: 01-kafka初认识
下一篇: ubutu修改主机名
liuhehe321
博客等级 码龄10年 105粉丝 261原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值