一、基本环境
- Linux_CentOS6.8
- jdk1.8
- zookeeper-3.4.12
二、单机模式的安装与配置
2.1.下载zookeeper的tar包wget http://www-eu.apache.org/dist/zookeeper/current/zookeeper-3.4.12.tar.gz
2.2.解压安装包到目标路径,并修改文件权限 tar -zxvf zookeeper-3.4.12.tar.gz
2.3.设置环境变量,将bin
目录添加到PATH路径下 vi /etc/profile
#zookeeper
ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.12
export PATH=$ZOOKEEPER_HOME/bin:$PATH
2.4.修改配置文件
将/conf
路径下的zoo_sample.cfg
文件更改名称为zoo.cfg
,并修改如下
mv zoo_sample.cfg zoo.cfg
配置说明:
1)tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个
tickTime 时间就会发送一个心跳。
2)dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存
在这个目录里。
3)clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户
端的访问请求。
6.启动与关闭
zookeeper
执行启动命令:zkServer.sh start
查看zookeeper端口:netstat -at|grep 2181
查看zookeeper状态:zkServer.sh status
执行关闭命令:zkServer.sh stop
三、伪分布式的配置
伪分布式模式基于单机模式
基础上
3.1.将conf
文件夹添加到PATH路径
3.2.在conf文件夹下新建三个配置文件zoo1.cfg、zoo2.cfg、zoo3.cfg
,分别配置如下
3.3.创建配置文件myid
除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就只有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。在d_1下面创建myid 里面的内容为1,d_2下面创建myid 里面的内容为2,d_3下面创建myid 里面的内容为3
[root@master2 zookeeper-3.4.12]# zkServer.sh start zoo1.cfg
[root@master2 zookeeper-3.4.12]# zkServer.sh start zoo2.cfg
[root@master2 zookeeper-3.4.12]# zkServer.sh start zoo3.cfg
[root@master2 zookeeper-3.4.12]# ls
[root@master2 zookeeper-3.4.12]# echo 1 >> data1/myid
[root@master2 zookeeper-3.4.12]# echo 2 >> data2/myid
[root@master2 zookeeper-3.4.12]# echo 3 >> data3/myid
3.4、伪分布式的启动
由于所有的配置文件都在/conf文件夹下面,因此要执行三
次,而且要加文件名的参数
,不然会默认执行zoo.cfg
这个文件 。
注意:三次执行的顺序要按照myid里面的数字
依次执行,比如说:myid
中的数字是1
就是先执行这个文件(zoo1.cfg
)