ZooKeeper安装

前置环境

zookeeper的安装需要依赖java的JDK。所以需要先安装JDK8,并且配置好环境变量。
linux下的jdk安装,请参考小编博客《Linux下JDK的安装》

ZooKeeper安装

小编在虚拟机创建了三台机器,并且分别设置hostname为node01,node02,node03。
再node01上安装完成后,然后分发到node02,node03。采用的zookeeper版本为3.7.0。

下载安装包

在用户主目录下,通过wget下载zookeeper安装包,或者在官网下载好传到服务器上也可以。

[root@node01 ~]# wget https://dlcdn.apache.org/zookeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz --no-check-certificate
[root@node01 ~]# ls
apache-zookeeper-3.7.0-bin.tar.gz
解压安装包
[root@node01 ~]# tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz 
[root@node01 ~]# ls
 apache-zookeeper-3.7.0-bin  apache-zookeeper-3.7.0-bin.tar.gz
删除tar包
[root@node01 ~]# rm -rf apache-zookeeper-3.7.0-bin.tar.gz 
创建文件夹
[root@node01 ~]# mkdir /usr/local/src/zookeeper
移动到指定目录
[root@node01 ~]# mv apache-zookeeper-3.7.0-bin /usr/local/src/zookeeper/
ZooKeeper目录结构

在这里插入图片描述

配置文件目录结构

在这里插入图片描述

zoo.cfg配置文件详解
# The number of milliseconds of each tick
tickTime=2000 #leader ,follower ,follower之间的心跳时间2000毫秒
# The number of ticks that the initial
# synchronization phase can take
initLimit=10 # 当一个follower追随leader时,leader允许follower可以有一个2000*10的初始延迟,抄错这个时间则判断follower有问题
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5 # 当leader发送同步请求是,follower在2000* 5 的时间没有给予回复,则认为follower出现问题
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/src/zookeeper/data/zk # zk是基于内存存储的,这个目录是持久化数据的目录,日志,快照,和myid都会放在这里
# the port at which the clients will connect
clientPort=2181 # 客户端连接zk服务的端口号
# 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=node01:2888:3888  # 端口3888用于三个服务之间进行选举leader
server.2=node02:2888:3888   # 端口2888用于三个服务之间进行数据交互
server.3=node03:2888:3888
创建dataDir目录
[root@node01 ~]# mkdir -p /usr/local/src/zookeeper/data/zk
创建myid文件

在/usr/local/src/zookeeper/data/zk目录下创建myid文件,并写入该节点配置文件中配置的数字,node1为数字1

[root@node01 zk]# vim myid

然后输入1保存退出。

分发给node02和node03

进入到/usr/local/src/目录,执行下列命令,将src目录下的zookeeper下的所有文件拷贝到node02的相同目录下

[root@node01 src]# scp -r ./zookeeper/ node02:`pwd`
root@node02's password: 

输入node02的密码,文件便会自动同步过去。
修改node02上/usr/local/src/zookeeper/data/zk/myid的id值
执行下面命令

[root@node02 zk]# echo 2 > myid

node03机器同理,进行同步并修改myid值为3。

配置环境变量

执行命令
vim /etc/profile,在文件末尾追加如下命令

[root@node01 ~]# vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/src/zookeeper/apache-zookeeper-3.7.0-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH
[root@node01 ~]# source /etc/profile #生效配置文件或者 . /etc/profile
验证

任意位置输入zk,能显示出zk的客户端脚本命令,则配置生效

分发配置文件

使用scp将配置文件分发给node02,和node03,覆盖原有的profile文件

[root@node01 ~]# scp /etc/profile   node02:/etc
[root@node01 ~]# scp /etc/profile   node03:/etc

在各自的机器上,执行source /etc/profile生效配置文件

总结

安装步骤:

  1. 下载tar包并解压
  2. 创建文件夹,将解压文件移动到指定文件夹
  3. 修改zoo.cfg中的dataDir目录,添加服务id和端口映射
  4. 创建dataDir文件夹并创建myid文件
  5. 修改myid内容为zoo.cfg配置文件中指定的服务id号
  6. 配置环境变量
ZooKeeper的启动
  • zkServer.sh start 后台启动
  • zkServer.sh start-foreground 前台启动,可以在控制台直接看到日志
  • zkServer.sh help 可以查看zkServer.sh可以使用的命令
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值