Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍.

单机模式

点击这里下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:

Bash代码  
  1. tickTime=2000
  2. dataDir=/Users/apple/zookeeper/data
  3. dataLogDir=/Users/apple/zookeeper/logs
  4. clientPort=4180

参数说明:

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

至此, zookeeper的单机模式已经配置好了. 启动server只需运行脚本:

Bash代码  
  1. bin/zkServer.sh start

Server启动之后, 就可以启动client连接server了, 执行脚本:

Bash代码  
  1. bin/zkCli.sh -server localhost:4180

伪集群模式

所谓伪集群, 是指在单台机器中启动多个zookeeper进程, 并组成一个集群. 以启动3个zookeeper进程为例.

将zookeeper的目录拷贝2份:

Bash代码  
  1. |--zookeeper0
  2. |--zookeeper1
  3. |--zookeeper2

更改zookeeper0/conf/zoo.cfg文件为:

Bash代码  
  1. tickTime=2000
  2. initLimit=5
  3. syncLimit=2
  4. dataDir=/Users/apple/zookeeper0/data
  5. dataLogDir=/Users/apple/zookeeper0/logs
  6. clientPort=4180
  7. server.0=127.0.0.1:8880:7770
  8. server.1=127.0.0.1:8881:7771
  9. server.2=127.0.0.1:8882:7772

新增了几个参数, 其含义如下:

  • initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
  • syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
  • server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.

参照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir, clientPort参数即可.

在之前设置的dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应.
/Users/apple/zookeeper0/data/myid文件中写入0, /Users/apple/zookeeper1/data/myid文件中写入1, /Users/apple/zookeeper2/data/myid文件中写入2.

分别进入/Users/apple/zookeeper0/bin, /Users/apple/zookeeper1/bin, /Users/apple/zookeeper2/bin三个目录, 启动server.
任意选择一个server目录, 启动客户端:

Bash代码  
  1. bin/zkCli.sh -server localhost:4180

集群模式

集群模式的配置和伪集群基本一致.
由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样.
下面是一个示例:

Bash代码  
  1. tickTime=2000
  2. initLimit=5
  3. syncLimit=2
  4. dataDir=/home/zookeeper/data
  5. dataLogDir=/home/zookeeper/logs
  6. clientPort=4180
  7. server.43=10.1.39.43:2888:3888
  8. server.47=10.1.39.47:2888:3888
  9. server.48=10.1.39.48:2888:3888

示例中部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目录下的myid文件中的数字必须不同.

10.1.39.43 server的myid为43, 10.1.39.47 server的myid为47, 10.1.39.48 server的myid为48.

Zookeeper 安装和配置---学习一相关推荐

  1. Zookeeper 安装和配置---学习二

    zookeeper介绍 zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目,并且根据google发表的<The Chubby lock servi ...

  2. Zookeeper 安装和配置---学习三

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等.Zookeeper是hadoop的一个子项目,其 ...

  3. Zookeeper 安装和配置

    Zookeeper 安装和配置01 ZooKeeper的安装与部署02 转载于:https://www.cnblogs.com/hfultrastrong/p/8414587.html

  4. linux 安装jeakens_Chapter 2. OpenSSL的安装和配置学习笔记

    Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL 我还是做点No paper事情比较在行,正好和老师的课程接轨一下. 以前尝试过在Windows上面 ...

  5. ZooKeeper安装与配置

    目录 一.ZooKeeper安装和配置 1.zookeeper下载 2.安装和配置 解压 目录重命名 修改用户和用户组 环境变量配置 zoo.cfg配置 创建myid文件 slave配置 scp至其他 ...

  6. [大数据] zookeeper 安装和配置

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  7. 【转】Zookeeper 安装和配置

    转自:http://coolxing.iteye.com/blog/1871009 Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍. 单机 ...

  8. 4.3实训任务 Zookeeper安装与配置

    一.Zookeeper的下载 1.官网下载地址 Apache ZooKeeper 注意:要下载对应Hadoop版本的Zookeeper 通过 hadoop version 命令查看Hadoop版本 2 ...

  9. ZooKeeper安装和配置

    ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现.ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集 ...

最新文章

  1. android studio怎么输出文本,Android Studio 如何获取 text文本内容
  2. python订单管理系统功能_订单管理系统有哪些功能?
  3. js引擎执行代码的基本流程
  4. 设计一个算法,删除一个单链表L中元素值最大的结点(假设最大值结点是唯一的)
  5. 传说之下音乐计算机版,传说之下同人音乐
  6. [原创]Scala学习:流程控制,异常处理
  7. Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析(3)...
  8. 厉害了,苹果爸爸承认让旧 iPhone 变慢!
  9. javaWeb新闻管理系统
  10. java类注释_Java注释,java类注释详解
  11. chrome浏览器上传文件fakepath问题
  12. Mac环境下设置打印机驱动程序
  13. 7.15周三晚8点,dotnet课堂全新起航,张善友/陈计节/刘腾飞我们一起来聊聊abp的故事...
  14. error:crosses initialization of
  15. 直接下载 * http://softforspeed.51xiazai.cn/down/BaiduNetdisk_6.9.7.4.exe
  16. DSPE-PEG10-Mal可以提供不同分子量的PEG衍生物
  17. SpringBoot日记本系统全程直播09:项目一期完结
  18. win10 werfault.exe 内存不能read 修复
  19. LWIP netconn TCP UDP测试 实例
  20. c语言setfocus作用,C语言FindWindow和SetFocus的问题?

热门文章

  1. SOA的缺陷及其与微服务的关系
  2. 通过enum实现枚举类
  3. 注解_自定义注解_格式本质
  4. request获取中文乱码的问题
  5. 数据库-优化-MYSQL执行引擎介绍
  6. springboot No Java compiler available for configuration options compilerClassName
  7. 通过Zuul上传文件,禁用Zuul的Filters
  8. springMVC请求流程详解
  9. abaqus 多层网格绑定_ABAQUS螺栓接触分析
  10. 文件表单带数据一起提交spring_基于 Spring 实现管道模式的最佳实践