专栏首页故久Mac安装配置zookeeper

Mac安装配置zookeeper

Zookeeper 的安装

先到apache官网进行下载

首先从官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录。“bin目录”中存放有运行脚本;“conf目录”中存放有配置文件;“lib目录”中存放有运行所需要第三方库。

Zookeeper 的配置

一、单机模式

编辑配置文件

在“conf”目录下,将“zoo_sample.cfg”的文件重命名为"zoo.cfg"

然后编辑"zoo.cfg",其中内容为下

参数说明

#tickTime: zookeeper中使用的基本时间单位, 毫秒值.
#dataDir: 数据目录. 可以是任意目录.
#dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和#dataDir相同的设置.
#clientPort: 监听client连接的端口号.

运行ZooKeeper Server

执行./bin/zkServer.sh start命令,运行ZooKeeper Server进程,得到如图所示结果,表示后台运行ZooKeeper Server进程成功。

停止:./bin/zkServer.sh stop 也可以执行bin/zkServer.sh start-foreground命令,非后台运行ZooKeeper Server进程

二、集群模式

集群模式有两种形式: 1)使用多台机器,在每台机器上运行一个ZooKeeper Server进程; 2)使用一台机器,在该台机器上运行多个ZooKeeper Server进程。 在生产环境中,一般使用第一种形式,在练习环境中,一般使用第二种形式。

参数配置

  1. data目录 用于存放进程运行数据。
  2. data目录下的myid文件 用于存储一个数值,用来作为该ZooKeeper Server进程的标识。
  3. 监听Client端请求的端口号
  4. 监听同ZooKeeper集群内其他Server进程通信请求的端口号
  5. 监听ZooKeeper集群内“leader”选举请求的端口号 该端口号用来监听ZooKeeper集群内“leader”选举的请求。注意这个是ZooKeeper集群内“leader”的选举,跟分布式应用程序无关。

参数配置注意事项: 1)同一个ZooKeeper集群内,不同ZooKeeper Server进程的标识需要不一样,即myid文件内的值需要不一样 2)采用上述第2种形式构建ZooKeeper集群,需要注意“目录,端口号”等资源的不可共享性,如果共享会导致ZooKeeper Server进程不能正常运行,比如“data目录,几个监听端口号”都不能被共享

myid

Data目录

Client

Server

Leader

配置文件

1

/z1/data

2181

2222

2223

z1.cfg

2

/z2/data

2182

3333

3334

z2.cfg

3

/z3/data

2183

4444

4445

z3.cfg

配置如下:

# zx.cfg  
    tickTime=2000  
    initLimit=10  
    syncLimit=2  
    dataDir=/usr/myenv/zookeeper-3.4.8/zx/data  
    clientPort=218x  
    # server.x中的“x”表示ZooKeeper Server进程的标识  
    server.1=127.0.0.1:2222:2225  
    server.2=127.0.0.1:3333:3335  
    server.3=127.0.0.1:4444:4445

注:

initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.

syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.

运行ZooKeeper Server

bin/zkServer.sh start deploy/z1/z1.cfg,  
  bin/zkServer.sh start deploy/z2/z2.cfg  
  bin/zkServer.sh start deploy/z3/z3.cfg

运行上述配置的3个ZooKeeper Server进程。

运行ZooKeeper命令行客户端

执行命令

bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

建立ZooKeeper Client端到ZooKeeper集群的连接会话。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于spring整合hibernate使用update无异常但没有效果(不输出sql语句)

    在没有使用spring控制事务时,使用的是sessionFactory.openSession()。这样每个方法都会新建一个session,必须在方法中控制和关...

    用户4478423
  • 使用zxing生成二维码不带logo

    用户4478423
  • VF实现Excel/CSV的导入导出

    1.先贴上VF页面的代码通过在<apex:page contenttype="application/x-excel# GenExcel.xls>可以实现生成E...

    用户4478423
  • 空洞卷积与DeeplabV2实现图像语义分割的测试(tensorflow)

    图像语义分割是对图像像素级理解的基础,也是图像处理的高阶操作。自从深度学习出来之后,已经有了不少的基于卷积网络的图像语义分割模型,如从全卷积网络到大型卷积核:深...

    sparkexpert
  • EasySwoole中利用redis实现消息队列

    本文为北溟有鱼QAQ原创文章,转载无需和我联系,但请注明来自北溟有鱼QAQ https://www.umdzz.cn ...

    北溟有鱼QAQ
  • 常用页面布局分享

    用户2145235
  • MySQL基础入门系列之——字符与日期数据处理

    今天这一篇分享MySQL中的字符串处理工具与日期时间处理,这一部分内容虽然看似不多,但是往往是输出处理中的的痛点。 我的MySQL数据库中已经建好了一个包含两列...

    数据小磨坊
  • 汇编语言关于2号功能函数的坑点

    也可以参考如下文章: http://www.delorie.com/djgpp/doc/rbinter/id/65/25.html

    KevinBruce
  • d3.js的empty与jq的emptye

    selection.empty - 检测判断选择集是否为空。若为空,则返回true,反之返回false。注意此方法无删除作用!!!

    汐楓
  • 家长快来看~大数据告诉你,孩子渴望什么?

    你真的了解自己的孩子吗? 你以为孩子都喜欢玩ipad、手机? 其实不是,他们只是害怕孤独而已。 你以为孩子们最自豪的是学习成绩好? 其实不是,他们最自豪的是人缘...

    小莹莹

扫码关注云+社区

领取腾讯云代金券