资讯专栏INFORMATION COLUMN

zookeeper3.4.9集群模式安装部署

junnplus / 1308人阅读

摘要:配置与之间建立连接后进行同步的最长时间。配置和之间发送消息,请求和应答的最大时间长度。是该进程所在的地址,表示和交换消息所使用的端口,表示选举所使用的端口。其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个文件。

环境要求
software version download
centos 7.2 省略
jdk 1.8 http://www.oracle.com/technet...
zookeeper 3.4.9 https://mirrors.tuna.tsinghua...
下载解压

按照上述提供的地址下载zookeeper后,使用命令tar -zxvf zookeeper-3.4.9.tar.gz进行解压后,可得到下图的文件目录结构

bin目录

zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。

conf目录

配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。

contrib目录

一些用于操作zk的工具包。

recipes目录

zk某些用法的代码示例

配置说明 复制 zoo_sample.cfg 文件的并命名为为 zoo.cfg

cp zoo_sample.cfg zoo.cfg

修改配置文件zoo.cfg
 # 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
 # the directory where the snapshot is stored.
 # do not use /tmp for storage, /tmp here is just 
 # example sakes.
dataDir=/data/ms/zookeeper-3.4.9/data
dataLogDir=/data/ms/zookeeper-3.4.9/logs
 # the port at which the clients will connect
clientPort=2181
 # the maximum number of client connections.
 # increase this if you need to handle more clients
 #maxClientCnxns=60
#
 # Be sure to read the maintenance section of the 
 # administrator guide before turning on autopurge.
#
 # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
 # The number of snapshots to retain in dataDir
 #autopurge.snapRetainCount=3
 # Purge task interval in hours
 # Set to "0" to disable auto purge feature
 #autopurge.purgeInterval=1
server.1=zk149:2888:3888
server.2=zk150:2888:3888
server.3=zk151:2888:3888
配置项说明
配置项 说明
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。
dataLogDir zookeeper日志存储路径
配置环境变量

vim /etc/profile
并在其尾部追加如下内容:

ZOOKEEPER_HOME=/data/ms/zookeeper-3.4.9
JAVA_HOME=/data/java/jdk1.8.0_111
JRE_HOME=/data/java/jdk1.8.0_111/jre
CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
刷新环境变量
 source /etc/profile
关闭系统防火墙或配置防火墙规则

直接关闭防火墙

systemctl stop firewalld.service

禁止firewall开机启动

禁用防火墙命令 systemctl disable firewalld.service
停止防火墙 systemctl stop firewalld.service

zookeeper命令 启动 zookeeper 服务
zkServer.sh start
如打印如下信息则表明启动成功:
 ZooKeeper JMX enabled by default
 Using config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
 Starting zookeeper ... STARTED
查看zookeeper 服务状态
zkServer.sh status
关闭zookeeper服务
zkServer.sh stop
如打印如下信息则表明成功关闭:
ZooKeeper JMX enabled by default
Using config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
重启zookeeper服务
zkServer.sh restart
 如打印如下信息则表明重启成功:
ZooKeeper JMX enabled by default
Using config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
zookeeper自启动服务 新建zookeeper脚本
[root@zookeeper ~]# cd /etc/rc.d/init.d/  
[root@zookeeper init.d]# pwd  
/etc/rc.d/init.d  
[root@zookeeper init.d]# vim zookeeper 
#!/bin/bash  
#chkconfig:2345 20 90  
#description:zookeeper  
#processname:zookeeper  
export JAVA_HOME=/data/java/jdk1.8.0_111
export ZOOKEEPER_HOME=/data/ms/zookeeper-3.4.9
case $1 in
        start) su root $ZOOKEEPER_HOME/bin/zkServer.sh start;;
        stop) su root $ZOOKEEPER_HOME/bin/zkServer.sh stop;;
        status) su root $ZOOKEEPER_HOME/bin/zkServer.sh status;;
        restart) su $ZOOKEEPER_HOME/bin/zkServer.sh restart;;
        *) echo "require start|stop|status|restart" ;;
esac
给zookeeper脚本授可执行权限
chmod +x zookeeper 
添加开机自启动服务
chkconfig --add zookeeper   
查看自启动状态
chkconfig --list
Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use "systemctl list-unit-files".
      To see services enabled on particular target use
      "systemctl list-dependencies [target]".

netconsole         0:off    1:off    2:off    3:off    4:off    5:off    6:off
network            0:off    1:off    2:on    3:on    4:on    5:on    6:off
vmware-tools       0:off    1:off    2:on    3:on    4:on    5:on    6:off
zookeeper          0:off    1:off    2:on    3:on    4:on    5:on    6:off

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

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

相关文章

  • storm集群安装部署

    摘要:集群拓扑规划在搭建集群前,先看下下面的拓扑图,在版本中,支持的模式,,需要使用作为协同。如果的目录为空的话,每个就会创建自己的展示主机名每台这里配置自己的地址日志链接链接失败需启动服务 storm集群拓扑规划 在搭建Storm集群前,先看下下面的拓扑图,在1.1.0版本中,支持 Nimbus的HA模式,Nimbus、Supervisor,需要使用Zookeeper作为协同。 showI...

    mmy123456 评论0 收藏0
  • [实战] 用数人云,部署弹性 ELK 集群就五步

    摘要:摘要本篇文章介绍了如何通过数人云部署一套标准的日志收集系统。主机添加完成后,检查主机运行是否正常,如图第二步,发布实例我们将通过数人云将的镜像以模式部署到我们规划的主机和上。 摘要:本篇文章介绍了如何通过数人云部署一套标准的 ELK 日志收集系统。第一步,将主机组织成集群;第二步,发布 ElasticSearch 实例;第三步,发布 Kibana 实例;第四步,发布 Logstash ...

    姘存按 评论0 收藏0
  • kubeadm部署k8s1.9高可用集群--1集群概述

    摘要:集群概述整个集群包括大部分集群节点节点集群主要作为集群和网络的数据存储。集群组件版本集群机器主从从后续计划用替换。 前言 k8s部署的方式多种多样,除去各家云厂商提供的工具,在bare metal中,也有二进制部署和一系列的自动化部署工具(kubeadm,kubespary,rke等)。具体二进制部署大家可以参考宋总的系列文章。而rke是由rancher提供的工具,由于刚刚出来,有不少...

    DrizzleX 评论0 收藏0
  • kubeadm部署k8s1.9高可用集群--1集群概述

    摘要:集群概述整个集群包括大部分集群节点节点集群主要作为集群和网络的数据存储。集群组件版本集群机器主从从后续计划用替换。 前言 k8s部署的方式多种多样,除去各家云厂商提供的工具,在bare metal中,也有二进制部署和一系列的自动化部署工具(kubeadm,kubespary,rke等)。具体二进制部署大家可以参考宋总的系列文章。而rke是由rancher提供的工具,由于刚刚出来,有不少...

    willin 评论0 收藏0
  • 在Kubernetes集群部署和管理JFrog Artifactory

    摘要:在本文中我们将介绍如何使用在集群上部署和管理。非常强大,它能够在任何地方管理集群,因此我们将在实例上以独立模式启动,使用它在中部署集群。现在,当你点击,就会把部署到你的集群上。当安装完成后,红色的进度条会变更为绿色。 JFrog Artifactory是一个artifacts仓库管理平台,它支持所有的主流打包格式、构建工具和持续集成(CI)服务器。它将所有二进制内容保存在一个单一位置并...

    dunizb 评论0 收藏0

发表评论

0条评论

junnplus

|高级讲师

TA的文章

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