资讯专栏INFORMATION COLUMN

zookeeper伪集群搭建及遇到的坑

huashiou / 1270人阅读

摘要:今天搭建了的单机伪集群,记录一下防止忘记安装从官网下载安装包解压到本地目录,比如配置为了运行个服务端进程,新建存放这个进程运行和配置数据的目录,比如叫。和都是表示连接的心跳数,具体含义暂时可以不用管。

今天搭建了zookeeper的单机伪集群,记录一下防止忘记

安装

从官网下载安装包解压到本地目录,比如D:/zookeeper-3.4.10

配置

为了运行3个 zookeeper 服务端进程,新建存放这3个进程运行和配置数据的目录,比如叫 z1z2z3 。在这3个目录下都建一个 data 目录用于存放进程运行时的数据,接着在这3个目录都新建一个叫 myid 的文件,内容分别为1、2、3(即 z1 下 myid 的内容是1、z2 下 myid 的内容是2、z3 下 myid 的内容是3),最后在这3个目录下都建一个 .cfg 结尾的配置文件。
z1 目录下的配置文件叫 z1.cfg,内容如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=$(z1所在目录的全路径)/data
clientPort=2981
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445

z2 目录下的配置文件叫 z2.cfg,内容如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=$(z2所在目录的全路径)/data
clientPort=2982
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
z3 目录下的配置文件叫 z3.cfg,内容如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=$(z3所在目录的全路径)/data
clientPort=2983
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
tickTime:服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tickTime 时间就会发送一个心跳,以毫秒为单位。也是 zookeeper 中的时间单元,zookeeper 中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session 的最小超时时间是 2*tickTime 。
initLimit 和 syncLimit:都是表示连接的心跳数,具体含义暂时可以不用管。
dataDir:zookeeper 保存数据的目录,默认情况下 zookeeper 写数据的日志文件也保存在这个目录里。
clientPort:客户端连接服务器的端口,zookeeper 会监听这个端口,接受客户端的访问请求。
server.N:XXXX:P1:P2 。其中 N 表示服务器编号,XXXX 表示该服务器的 IP 地址,P1 和 P2 是两个 TCP 端口号,分别用于仲裁和 Learder 选举。服务器编号也对应着上面配置的 myid 文件的内容,比如上面 z1 目录下的 myid 内容是 1 ,也就是这里的 server.

启动

分别启动3个 zookeeper 进程,启动时使用上面新建的配置文件
启动 z1 :
sh $(zookeeper压缩包解压后的全路径)/bin/zkServer.sh start $(z1所在目录的全路径)/z1.cfg
启动 z2 :
sh $(zookeeper压缩包解压后的全路径)/bin/zkServer.sh start $(z2所在目录的全路径)/z2.cfg
启动 z3 :
sh $(zookeeper压缩包解压后的全路径)/bin/zkServer.sh start $(z3所在目录的全路径)/z3.cfg
当看到如下信息表示 zookeeper 的进程启动好了

在启动的过程中遇到一个坑,在启动好后用sh $(zookeeper压缩包解压后的全路径)/bin/zkServer.sh status $(z2所在目录的全路径)/z2.cfg报错如下

解决过程如下:
使用./zkServer.sh start-foreground /mnt/d/zkData/z1/zoo.cfg使zookeeper前台运行,抛如下异常

但是我已经写了myid文件了,怎么找不到呢?
其实是这样,我在windows10的linux sub system里运行的,不能用windows里的路径格式,要改为这样的格式/mnt/d/{zookeeper myid路径},这个坑是windows的坑啊。。。

验证

用telnet连接客户端端口,如下说明成功

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73772.html

相关文章

  • 大数据入门指南(GitHub开源项目)

    摘要:项目地址前言大数据技术栈思维导图大数据常用软件安装指南一分布式文件存储系统分布式计算框架集群资源管理器单机伪集群环境搭建集群环境搭建常用命令的使用基于搭建高可用集群二简介及核心概念环境下的安装部署和命令行的基本使用常用操作分区表和分桶表视图 项目GitHub地址:https://github.com/heibaiying... 前 言 大数据技术栈思维导图 大数据常用软件安装指...

    guyan0319 评论0 收藏0
  • zookeeper 高可用集群搭建

    摘要:前言记录集群搭建的过程什么是是一个分布式的,开放源码的分布式应用程序协调服务,是的一个开源的实现,是和的重要组件。 showImg(https://segmentfault.com/img/remote/1460000017993000); 前言 记录Zookeeper集群搭建的过程! 什么是 Zookeeper ? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,...

    sherlock221 评论0 收藏0

发表评论

0条评论

huashiou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<