前期准备
- virtualbox虚拟机:自行百度
- centos(6.6):链接: https://pan.baidu.com/s/143gy-R3fvPYx7p8yoNffuQ 提取码: 47cp
- jdk(linux64)下载:https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
- zookeeper下载:http://mirrors.shu.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
- windows与linux文件传输:https://blog.csdn.net/dengjili/article/details/78006151
单机模式安装
安装centos中的jdk
网上有教程,这里只是做基础环境验证
输入命令java -version
将zookeeper安装包上次到centos目录中
解压zookeeper安装包
tar xzf zookeeper-3.4.13.tar.gz
进入zookeeper的conf目录下,copy一份zoo.cfg
根据zoo.cfg的dataDir属性创建临时数据目录
创建目录
进入zookeeper的bin目录下,启动zookeeper服务端
查看zookeeper状态
Mode: standalone
单机版
启动zookeeper客户端
sh zkCli.sh
测试
安装成功,具体使用本次不演示
集群环境
准备三台主机
1个leader 、2个 follower
关闭firewall
三台主机都需要执行下面语句
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
修改zoo.cfg文件
在文件最后添加如下配置,三台主机都需要配置,配置相同
server.1=10.64.156.135:2888:3181
server.2=10.64.156.145:2888:3181
server.3=10.64.156.155:2888:3181
端口解释
创建myid文件
myid文件是zoo.cfg中文件对应dataDir=/tmp/zookeeper的一个文件,代表着server.id中的id
进入/tmp/zookeeper目录,新增myid文件
各个主机配置myid如下
10.64.156.135 为 1
10.64.156.145 为 2
10.64.156.155 为 3
启动三台zookeeper
启动命令
sh zkServer.sh start
查看状态
sh zkServer.sh status
10.64.156.135
10.64.156.145
10.64.156.155
测试
在10.64.156.135添加/test节点
启动客户端
sh zkCli.sh
添加节点
create /test 1234
在10.64.156.145中查询
查询某个节点
get /test
测试通过
将leader主机10.64.156.145关闭
新的leader产生
测试通过