您的当前位置:首页正文

Zookeeper(一)-- 集群环境部署

来源:画鸵萌宠网
Zookeeper简述

Zookeeper是一个开源的分布式应用程序协调服务,用于维护配置信息,命名,提供分布式同步和提供组服务。Zookeeper向使用者提供简单的API用于处理复杂的分布式协调问题。作用详解:

  • 名命服务:按名称标识集群中的节点
  • 配置管理:加入节点最新或者最近的配置信息
  • 集群管理:实时的在集群或者节点状态中加入/离开节点
  • 选举算法:选举一个节点作为协调目的的leader
  • 锁定和同步服务 - 在修改数据的同时锁定数据。此机制可帮助你在连接其他分布式应用程序(如Apache HBase)时进行自动故障恢复
  • 高度可靠的数据注册表 - 即使在一个或几个节点关闭时也可以获得数据
    官方网站:
    镜像地址:
集群的搭建
服务端准备

zookeeper的er简述
Zookeeper是一个开源的分布式应用程序协调服务,用于维护配置信息,命名,提供分布式同步和提供组服务。Zookeeper向使用者提供简单的API用于处理复杂的分布式协调问题。作用详解:

  • 名命服务:按名称标识集群中的节点
  • 配置管理:加入节点最新或者最近的配置信息
  • 集群管理:实时的在集群或者节点状态中加入/离开节点
  • 选举算法:选举一个节点作为协调目的的leader
  • 锁定和同步服务 - 在修改数据的同时锁定数据。此机制可帮助你在连接其他分布式应用程序(如Apache HBase)时进行自动故障恢复
  • 高度可靠的数据注册表 - 即使在一个或几个节点关闭时也可以获得数据
    官方网站:
    镜像地址:
集群的搭建
环境准备

1.机器数量
zookeeper的服务器应设置为奇数个这是由于zookeeper的容错机制,即zookeeper集群中正常运行的机器的数量大于宕机的数量,那么zookeeper即可以正常的提供服务。所以三台机器可以允许宕机一台,而两台机器宕机一台后无法工作。五台机器可以宕机两台,而六台机器也只能宕机两台,所以没有必要使用六台,故而一般都部署奇数台。
2.java环境
运行zookeeper需要准备java环境,并且设置环境变量。

部署Zookeeper
[zookeeper@VM_0_10_centos ~]$ ll
total 35824
drwxrwxr-x  3 zookeeper zookeeper     4096 Aug 30 09:04 data
drwxrwxr-x  3 zookeeper zookeeper     4096 Aug 27 16:07 logs
drwxr-xr-x 10 zookeeper zookeeper     4096 Mar 27  2018 zookeeper-3.4.12
-rw-r--r--  1 root      root      36667596 Aug 20 09:03 zookeeper-3.4.12.tar.gz
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
dataDir=/app/zookeeper/data
dataLogDir=/app/zookeeper/logs
# the port at which the clients will connect
clientPort=2181
server.1=0.0.0.0:2888:3888
server.2=*.*.*.*:2888:3888
server.3=*.*.*.*:2888:3888

tickTime:
Zookeeper的时间单元。Zookeeper中所有时间都是以这个(2000)时间单元的整数倍去配置的。例如,session的最小超时时间是2*tickTime,而session的最大超时时间是20被的tickTime,在3.3.0版本后,服务端的配置引入了minSessionTimeout 和maxSessionTimeout ,这两个参数将限制会话连接的时间,客户端中设置的timeout将上传给zookeeper的服务,而服务端将会比对这个时间与上面两参数的大小,如果在其中间,客户端参数生效,如果超出了上限(maxSessionTimeout)则会以maxSessionTimeout作为会话的timeout,同理低于下限也会以配置中的minSessionTimeout为准。如果在没有设置这两个参数的情况下,就会以[2tickTime,20tickTime]为上下界限。tickTime的默认配置值是2000,如果说tickTime配置项都没有的话,缺省值是3000.在客户端的连接中要着重注意这几个参数(单位:毫秒)

minSessionTimeout : (No Java system property) New in 3.3.0: the minimum session timeout in milliseconds that the server will allow the client to negotiate. Defaults to 2 times the tickTime.

maxSessionTimeout : (No Java system property) New in 3.3.0: the maximum session timeout in milliseconds that the server will allow the client to negotiate. Defaults to 20 times the tickTime.
[zookeeper@VM_0_10_centos ~]$ pwd
/app/zookeeper
[zookeeper@VM_0_10_centos ~]$ mkdir data
集群启动
[zookeeper@VM_0_10_centos bin]$ pwd
/app/zookeeper/zookeeper-3.4.12/bin
[zookeeper@VM_0_10_centos bin]$ ll
total 172
-rwxr-xr-x 1 zookeeper zookeeper    232 Mar 27  2018 README.txt
-rwxr-xr-x 1 zookeeper zookeeper   1937 Mar 27  2018 zkCleanup.sh
-rwxr-xr-x 1 zookeeper zookeeper   1056 Mar 27  2018 zkCli.cmd
-rwxr-xr-x 1 zookeeper zookeeper   1534 Mar 27  2018 zkCli.sh
-rwxr-xr-x 1 zookeeper zookeeper   1759 Mar 27  2018 zkEnv.cmd
-rwxr-xr-x 1 zookeeper zookeeper   2696 Mar 27  2018 zkEnv.sh
-rwxr-xr-x 1 zookeeper zookeeper   1089 Mar 27  2018 zkServer.cmd
-rwxr-xr-x 1 zookeeper zookeeper   6773 Mar 27  2018 zkServer.sh

启动服务

[zookeeper@VM_0_10_centos bin]$ ./zkServer.sh start

2.注意事项
最好按照myid有小到大的顺序启动服务节点
3.查看状态

[zookeeper@VM_0_10_centos bin]$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: leader

使用./zkServer.sh status查看启动状态,如果集群启动成功,会出现以上的(leader节点)状态,如果是follwer节点,则是

[app@ecs-s6-medium-2-linux-20190828164230 bin]$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower

4.错误情况查看
如果查看服务器的启动状态是失败的,需要查看错误的原因

[zookeeper@vultr bin]$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
-rw-rw-r-- 1 zookeeper zookeeper 23615 Aug 28 16:27 zookeeper.out

转载于:https://www.cnblogs.com/limushu/p/11458633.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Top