zookeeper+centos7.4安装配置+自启动

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cdnight/article/details/81018560

zookeeper下载

Centos7下安装zookeeper以及配置文件详解

Centos 设置zookeeper开机自启动

Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)

安装过程

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
mkdir -p /usr/local/zookeeper/
解压到目标目录:
tar -zxvf zookeeper-3.4.12.tar.gz -C /usr/local/zookeeper/
#创建数据和日志存放目录 
mkdir /usr/local/zookeeper/zookeeper-3.4.12/logs
mkdir /usr/local/zookeeper/zookeeper-3.4.12/data
#打开zookeeper程序目录
cd /usr/local/zookeeper/zookeeper-3.4.12/
# 先把conf下的zoo_sample.cfg备份一份,然后重命名为zoo.cfg 
cd conf
cp zoo_sample.cfg zoo_sample.cfg.bak
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

可以看到:
这里写图片描述

替换成你自己的目录:

#ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime
tickTime=2000
#Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了
initLimit=10
#在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题
syncLimit=5
#存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能
dataDir=/usr/local/zookeeper/zookeeper-3.4.12/data
#事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.12/logs
#客户端连接server的端口,即对外服务端口,一般设置为2181吧
clientPort=2181
#第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信,server.x这里的x是一个数字,与myid文件中的id是一致的
server.1=127.0.0.1:2888:3888

在data目录下创建myid文件,并写入对应ip的机器编号

cd /usr/local/zookeeper/zookeeper-3.4.12/data
vim myid

这里写图片描述

保存退出。

配置zk的环境变量

cd ~
vim .bash_profile

看到:
这里写图片描述

在后面添加:

#导入zookeeper环境变量
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.12/
export PATH=$ZOOKEEPER_HOME/bin:$PATH

如下:
这里写图片描述

使变量生效:

source .bash_profile
#启动zk
zkServer.sh start
#关闭zk
zkServer.sh stop

结果如下:
这里写图片描述

这里写图片描述

开机自启动

1、进入到/etc/init.d目录下,新建一个zookeeper脚本

cd /etc/init.d/ 
touch zookeeper
chmod +x zookeeper
#编辑
vim zookeeper

内容如下:

#!/bin/bash 
#chkconfig:2345 20 90 
#description:zookeeper 
#processname:zookeeper 
# export JAVA_HOME=//usr/java/jdk1.8.0_112  --这个不用设置,如果你有设置过java home的话
case $1 in 
        start) sudo /usr/local/zookeeper/zookeeper-3.4.12/bin/zkServer.sh start;; 
        stop) sudo /usr/local/zookeeper/zookeeper-3.4.12/bin/zkServer.sh stop;; 
        status) sudo /usr/local/zookeeper/zookeeper-3.4.12/bin/zkServer.sh status;; 
        restart) sudo /usr/local/zookeeper/zookeeper-3.4.12/bin/zkServer.sh restart;; 
        *) echo "require start|stop|status|restart" ;; 
esac

*使用service zookeeper start/stop命令来尝试启动关闭zookeeper,使用service zookeeper status查看zookeeper状态。

先来看启动及状态*

添加到开机自启

chkconfig --add zookeeper
  • 添加完之后,我们使用chkconfig –list来查看开机自启的服务中是否已经有我们的zookeeper了,如下所示,可以看到在最后一行便是我们的zookeeper服务了。

*

chkconfig --list

这里写图片描述

猜你喜欢

转载自blog.csdn.net/cdnight/article/details/81018560