博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS7 zookeeper3.4.11安装部署
阅读量:5949 次
发布时间:2019-06-19

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

hot3.png

环境要求

telnet 192.168.1.160 2181  telnet 192.168.1.160 20880
软件 版本 下载
CentOS CentOS Linux release 7.4.1708 (Core)
jdk Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
zookeeper zookeeper-3.4.11

下载解压

CentOS7 Java 省略,已经安装好了

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gztar xzf zookeeper-3.4.11.tar.gzcp  zookeeper-3.4.11 /usr/local/tree /usr/local/zookeeper-3.4.11
  • bin目录

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

  • conf目录

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

  • contrib目录

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

  • recipes目录

zk某些用法的代码示例

配置说明

cp zoo_sample.cfg zoo.cfg

修改配置文件zoo.cfg

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial# synchronization phase can takeinitLimit=10# The number of ticks that can pass between# sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just# example sakes.dataDir=/data/zookeeper/datadataLogDir=/data/zookeeper/logs# the port at which the clients will connectclientPort=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:3888server.2=zk150:2888:3888server.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.|

=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

# /etc/profile# System wide environment and startup programs, for login setup# Functions and aliases go in /etc/bashrc# It's NOT a good idea to change this file unless you know what you# are doing. It's much better to create a custom.sh shell script in# /etc/profile.d/ to make custom changes to your environment, as this# will prevent the need for merging in future updates.pathmunge () {    case ":${PATH}:" in        *:"$1":*)            ;;        *)            if [ "$2" = "after" ] ; then                PATH=$PATH:$1            else                PATH=$1:$PATH            fi    esac}if [ -x /usr/bin/id ]; then    if [ -z "$EUID" ]; then        # ksh workaround        EUID=`/usr/bin/id -u`        UID=`/usr/bin/id -ru`    fi    USER="`/usr/bin/id -un`"    LOGNAME=$USER    MAIL="/var/spool/mail/$USER"fi# Path manipulationif [ "$EUID" = "0" ]; then    pathmunge /usr/sbin    pathmunge /usr/local/sbinelse    pathmunge /usr/local/sbin after    pathmunge /usr/sbin afterfiHOSTNAME=`/usr/bin/hostname 2>/dev/null`HISTSIZE=1000if [ "$HISTCONTROL" = "ignorespace" ] ; then    export HISTCONTROL=ignorebothelse    export HISTCONTROL=ignoredupsfiexport PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL# By default, we want umask to get set. This sets it for login shell# Current threshold for system reserved uid/gids is 200# You could check uidgid reservation validity in# /usr/share/doc/setup-*/uidgid fileif [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then    umask 002else    umask 022fifor i in /etc/profile.d/*.sh ; do    if [ -r "$i" ]; then        if [ "${-#*i}" != "$-" ]; then             . "$i"        else            . "$i" >/dev/null        fi    fidoneunset iunset -f pathmungeexport PATH=/usr/local/php/bin:/usr/local/nginx/sbin:/usr/local/openssl/bin:$PATHexport PS1="\[\e]0;\a\]\n\[\e[1;32m\]\[\e[1;33m\]\H\[\e[1;35m\]<\$(date +\"%Y-%m-%d %T\")> \[\e[32m\]\w\[\e[0m\]\n\u>\\$ "#export CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.24export JAVA_HOME=/usr/local/java/jdk1.8.0_151export JRE_HOME=/usr/local/java/jdk1.8.0_151/jreexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH:$CATALINA_HOMEexport PATH=$JAVA_HOME/bin:$PATHZOOKEEPER_HOME=/usr/local/zookeeper-3.4.11export PATH=$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 defaultUsing config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfgStopping zookeeper ... STOPPED

重启zookeeper服务

zkServer.sh restart 如打印如下信息则表明重启成功:ZooKeeper JMX enabled by defaultUsing config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfgZooKeeper JMX enabled by defaultUsing config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfgStopping zookeeper ... STOPPEDZooKeeper JMX enabled by defaultUsing config: /usr/local/services/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfgStarting zookeeper ... STARTED

zookeeper自启动服务

vim /etc/rc.d/init.d/zookeeper
#!/bin/bash#chkconfig:2345 20 90#description:zookeeper#processname:zookeeperexport JAVA_HOME=/usr/local/java/jdk1.8.0_151export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.11case $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 /etc/rc.d/init.d/zookeeper

添加开机自启动服务

chkconfig --add zookeeper

查看自启动状态

chkconfig --list

转载于:https://my.oschina.net/leeyisoft/blog/1618712

你可能感兴趣的文章
校验表单如何摆脱 if else ?
查看>>
JS敏感信息泄露:不容忽视的WEB漏洞
查看>>
分布式memcached服务器代理magent安装配置(CentOS6.6)
查看>>
Create Volume 操作(Part III) - 每天5分钟玩转 OpenStack(52)
查看>>
tomcat 8.0虚拟机配置文档
查看>>
pxc群集搭建
查看>>
JS中加载cssText延时
查看>>
常用的脚本编程知识点
查看>>
计算机网络术语总结4
查看>>
新手小白 python之路 Day3 (string 常用方法)
查看>>
soapUI的简单使用(webservice接口功能测试)
查看>>
框架 Hibernate
查看>>
python-while循环
查看>>
手机端上传图片及java后台接收和ajaxForm提交
查看>>
【MSDN 目录】C#编程指南、C#教程、ASP.NET参考、ASP.NET 4、.NET Framework类库
查看>>
jquery 怎么触发select的change事件
查看>>
angularjs指令(二)
查看>>
<气场>读书笔记
查看>>
领域驱动设计,构建简单的新闻系统,20分钟够吗?
查看>>
web安全问题分析与防御总结
查看>>