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

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

概述

zookeeper是一款分布式协调服务,其可以对公共配置、公共服务等进行管理,关于zookeeper的更详细信息,大家可以在网上查看更多的信息,此处主要介绍如何搭建zookeeper集群。这里演示在单机上搭建集群,多机搭建是类似的,不外乎就是IP地址和端口上做区分而已。

环境说明

主机:CentOS7 64位linux系统

JDK:jdk1.8

Zookeeper:zookeeper-3.4.10.tar.gz    下载网址:http://mirror.bit.edu.cn/apache/zookeeper/

搭建两台zookeeper服务节点:搭3台、4台或者更多方法类似,这里只是为了演示练练手只建两个。不过网上有大神说为了稳定和效率最少建3个,而且最好是奇数个。

步骤

1、创建所需目录:用普通用户先创建两个节点所需目录server2181、server2182,并创建子目录data、dataLog、logs,将Zookeeper解压后分别拷贝到server2181和server2182目录下

2、创建data/myid文件,并设置节点id,这里为了方便设置端口号为id标识当前Zookeeper服务器。myid文件内容只有端口号,如图

3、生成并认识一下Zookeeper配置文件zookeeper-3.4.10/conf/zoo.cfg。解压后的Zookeeper包中默认有个zoo_sample.cfg文件,直接拷贝这个文件的副本并改名为zoo.cfg,因为Zookeeper默认加载的配置文件名是zoo.cfg。

网上摘抄一段说明

  • tickTime 
    时长单位为毫秒,为zk使用的基本时间度量单位。例如,1 * tickTime是客户端与zk服务端的心跳时间,2 * tickTime是客户端会话的超时时间。 
    tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。
  • clientPort 
    zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
  • dataDir 
    无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。

4、修改zoo.cfg。根据要搭建的集群环境修改配置文件:主要修改dataDir、端口和添加集群配置,图中是server2182修改后的情况,server2181也如此修改,只是目录不通而已

再摘抄一段说明:

  • initLimit 
    ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。 
    当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。
  • syncLimit 
    配置follower和leader之间发送消息,请求和应答的最大时间长度。
  • tickTime 
    tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。
  • server.id=host:port1:port2 
    其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。 
    host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。
  • dataDir 
    其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。

5、到这里集群环境已经搭建完成,该验证是否搭建成功了。分别进入两个节点的bin目录下通过命令“./zkServer.sh start”启动各个节点,通过命令“./zkServer.sh status”查看各个节点状态

6、用客户端连接集群。用命令“./zkCli.sh -server 192.168.213.4:2181,192.168.213.4:2182”连接集群验证一下,当然也可以指定连接具体某个节点,如“./zkCli.sh -server 192.168.213.4:2181

可以看出客户端当前连接的是2182这个节点

你可能感兴趣的文章
北京十大情人分手圣地
查看>>
Android自动关机代码
查看>>
Android中启动其他Activity并返回结果
查看>>
2009年33所高校被暂停或被限制招生
查看>>
GlassFish 部署及应用入门
查看>>
iWatch报错: Authorization request cancled
查看>>
iWatch报错: Authorizationsession time out
查看>>
如何运行从网上下载的iWatch项目详细步骤.
查看>>
X-code7 beta error: warning: Is a directory
查看>>
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
查看>>
X-code beta 开发iWatch项目,运行没有错误,但是某些操作一点就崩,而且找不错误的原因场景一
查看>>
Xcode 报错: Extra argument in call
查看>>
iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
查看>>
#import <Cocoa/Cocoa.h> 报错 Lexical or Preprocessor Issue 'Cocoa/Cocoa.h' file not found
查看>>
`MQTTClient (~> 0.2.6)` required by `Podfile`
查看>>
X-Code 报错 ld: library not found for -lAFNetworking
查看>>
Bitcode
查看>>
If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
查看>>
腾讯一面二面题目
查看>>
2014腾讯面试题整理
查看>>