博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
win10环境下搭建zookeeper伪集群
阅读量:4095 次
发布时间:2019-05-25

本文共 3054 字,大约阅读时间需要 10 分钟。

前言:zookeeper部署分单机部署,单机伪集群部署,集群部署。因为资源有限又不想单机部署,于是决定采用单机伪集群部署。由于zookeeper超过半数服务器正常即可提供服务的特性,采取部署3个server的伪集群,下文暂称server1、server2和server3。

一、下载zookeeper

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

这里笔者下载的是zookeeper-3.3.6

二、配置zookeeper

1.解压到三个目录

我们想要在单机上搭建3个server的伪集群,需要将下载好的zookeeper压缩包解压到三个目录下。笔者的目录如下:
server1 : F:\paths\zookeeper\server1\zookeeper-3.3.6
server2 : F:\paths\zookeeper\server2\zookeeper-3.3.6
server3 : F:\paths\zookeeper\server3\zookeeper-3.3.6

2.创建配置文件(cfg文件)

解压之后,分别进入conf目录,可以看到zoo_sample.cfg,log4j.properties和configuration.xsl三个文件。

在该目录下创建一个zoo.cfg文件(也可以直接使用zoo_sample.cfg),配置如下:

# The number of milliseconds of each ticktickTime=2000(2000ms,心跳间隔,也是zookeeper的时间单位)# The number of ticks that the initial synchronization phase can takeinitLimit=10(10*tickTime = 20s,定义初始化的时间限制)# The number of ticks that can pass between sending a request and getting an acknowledgementsyncLimit=5 (5*tickTime = 10s,定义同步的时间限制)# the directory where the snapshot is stored.dataDir=F:\paths\zookeeper\server1\zookeeper-3.3.6\data (自定义数据快照的存放目录,data目录需要自行创建)dataLogDir=F:\paths\zookeeper\server1\zookeeper-3.3.6\log (自定义日志存放目录,log目录需要自行创建)# the port at which the clients will connectclientPort=2181 (zookeeper服务端口)server.1=localhost:2887:3887 (伪集群zookeeper的server1标识)server.2=localhost:2888:3888 (伪集群zookeeper的server2标识)server.3=localhost:2889:3889 (伪集群zookeeper的server3标识)

以上就是zookeeper伪集群中server1的配置文件。同理在其他两个解压路径的conf目录下创建server2和server3的配置文件zoo.cfg。参数区别仅在于dataDir、dataLogDir和clientPort

server2的zoo.cfg

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial synchronization phase can takeinitLimit=10# The number of ticks that can pass between sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.dataDir=F:\paths\zookeeper\server2\zookeeper-3.3.6\datadataLogDir=F:\paths\zookeeper\server2\zookeeper-3.3.6\log# the port at which the clients will connectclientPort=2182server.1=localhost:2887:3887server.2=localhost:2888:3888server.3=localhost:2889:3889
server3的zoo.cfg

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial synchronization phase can takeinitLimit=10# The number of ticks that can pass between sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.dataDir=F:\paths\zookeeper\server3\zookeeper-3.3.6\datadataLogDir=F:\paths\zookeeper\server3\zookeeper-3.3.6\log# the port at which the clients will connectclientPort=2183server.1=localhost:2887:3887server.2=localhost:2888:3888server.3=localhost:2889:3889

3.创建myid文件

在上个步骤中,我们在dataDir中指定了快照存放目录,切换到各目录下,分别创建一个文件名为myid的文件(没有后缀名)。文件内容为一个整型数。

在server1的data目录下的myid文件,其内容为1。

在server2的data目录下的myid文件,其内容为2。

在server3的data目录下的myid文件,其内容为3。

三、启动zookeeper

分别切换到三个解压路径下的bin目录,在cmd上输入zkServer.cmd启动服务,可以同时用三个cmd窗口分别启动三个server,笔者的启动顺序是server1 -> server2 -> server3。启动的过程中是会报错的,信息如下:

这是zookeeper的Leader选举算法的异常信息,当节点没有启动完毕的时候,Leader无法正常进行工作,这种错误信息是可以忽略的,等其他节点启动之后就正常了。

四、验证zookeeper服务是否启动

在cmd中输入jps,可以查看到相应的java进程。
你可能感兴趣的文章
面试官:简历上敢写技术精通?那我就不客气了!
查看>>
如何判断一家互联网公司要倒闭了?
查看>>
想快速上手机器学习?来看下这个 GitHub 项目!
查看>>
GitHub 标星 3.6k,一本开源的深度学习中文教程!
查看>>
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
200页!分享珍藏很久的Python学习知识手册(附链接)
查看>>
程序员之神
查看>>
4 岁小女孩给 Linux 内核贡献提交
查看>>
推荐几个私藏很久的技术公众号给大家
查看>>
20 个 2020 年软件开发趋势预测
查看>>
王垠受邀面试阿里 P9,被 P10 面跪后网上怒发文,惨打 325 的 P10 赵海平回应了!...
查看>>
Python 趣味打怪:147 段简单代码助你从入门到大师
查看>>
卧槽!小姐姐用动画图解 Git 命令,这也太秀了吧?!
查看>>
厉害了!Python 编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!
查看>>
卧槽!Java 虚拟机竟然还有这些性能调优技巧...
查看>>
听说玩这些游戏能提升编程能力?
查看>>
7 年工作经验,面试官竟然还让我写算法题???
查看>>
被 Zoom 逼疯的歪果仁,造出了视频会议机器人,同事已笑疯丨开源
查看>>
上古语言从入门到精通:COBOL 教程登上 GitHub 热榜
查看>>