Linux系统:centOS7
JDK:jdk-7u76-linux-x64.tar.gz
Zookeeper: zookeeper-3.4.6.tar.gz
以上版本经过测试,没有冲突,可以使用。
单节点安装
1、 修改操作系统的/etc/hosts : vi /etc/hosts
文件中添加:
# zookeeper servers
192.168.22.205 edu-provider-01
2、 下载zookeeper安装包(如果已有也可选择拷贝)
执行命令:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
如果报错可以安装 yum -y install wget
如图:
3、 解压 zookeeper 安装包到指定目录(# tar -zxvf zookeeper-3.4.6.tar.gz –C /指定目录):
$ tar –zxvf zookeeper-3.4.6.tar.gz -C /home/admin205/zookeeper-3.4.9
4、 在/home/admin205/zookeeper-3.4.9/zookeeper-3.4.9目录下创建以下目录:
$ cd /home/admin205/zookeeper-3.4.9/zookeeper-3.4.9
$mkdir data
$ mkdir logs
如图:
$ cp zoo_sample.cfg zoo.cfg
6、 修改 zoo.cfg 配置文件:
$ vi zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/admin205/zookeeper-3.4.9/zookeeper-3.4.9/data
dataLogDir=/home/admin205/zookeeper-3.4.9/zookeeper-3.4.9/logs
# the port at which the clients will connect
clientPort=2181
#2888,3888 are election port
#格式为server.id=host:port:port
#第一个port为follow和leader通信端口
#第二个port为Leader选举投票通信
#server.1=edu-provider-01:2888:3888
server.1=192.168.169.30:2888:3888 #配置自己的ip,第一步就可省略
7、 在 dataDir=/home/admin205/zookeeper-3.4.9/zookeeper-3.4.9/data 下创建 myid 文件,编辑 myid 文件,内容和第6不重的配置文件中server.x中的x相同。如上 zookeeper 搭建实例,zoo.cfg配置文件是server.1 , myid文件内容就是 1。 如果只在单点上进行安装配置, 那么只有一个 server.1。
$ vi myid
1
8、 修改 /etc/profile, 增加 zookeeper 配置:
vi /etc/profile
# zookeeper env
export ZOOKEEPER_HOME=/home/admin205/zookeeper-3.4.9/zookeeper-3.4.9
export PATH=$ZOOKEEPER_HOME/bin:$PATH
使配置文件生效
$ source /etc/profile
9、 关闭防火墙,CentOS7中关闭防火墙的命令
$ systemctl disable firewalld.service
10、 启动并测试 zookeeper
(1)在 /home/admin205/zookeeper-3.4.9/zookeeper-3.4.9/bin 目录中执行:
$ ./zkServer.sh start
(2)输入 jps 命令查看进程:
$ jps,其中QuorumPeerMain 是 zookeeper 进程,启动正常
(3)查看状态:
$ zkServer.sh status
Zookeeper集群安装
伪集群:
这里在一台服务器上模拟zookeeper集群安装。搭建集群最少要三个主机(或三个端口号)根据zookeeper集群机制来定。
1、 修改/usr/local/zookeeper3.4.6/zookeeper-3.4.6/conf目录下的zoo.cfg(zoo_sample.cfg的复制文件,参考单节点安装中提到的,edu-provider-*可替换为ip) ,在末尾加上
server.1=edu-provider-01:2888:3888
server.2=edu-provider-01:2889:3889
server.3=edu-provider-01:2890:2890
2、 复制两份zoo.cfg
cp zoo.cfg zoo1.cfg
cp.zoo.cfg zoo2.cfg
3、 复制dataDir=/usr/local/zookeeper3.4.6/zookeeper-3.4.6/data 下的data文件夹两份
cp -r /usr/local/zookeeper3.4.6/zookeeper-3.4.6/data /usr/local/zookeeper3.4.6/zookeeper-3.4.6/data1
cp -r /usr/local/zookeeper3.4.6/zookeeper-3.4.6/data /usr/local/zookeeper3.4.6/zookeeper-3.4.6/data2
4、 修改data1和data2中的myid文件,将data1中的值改为2,将data2的值改为3
5、 修改/usr/local/zookeeper3.4.6/zookeeper-3.4.6/conf下的zoo1.cfg和zoo2.cfg
zoo1.cfg
zoo2.cfg
至此zookeeper集群就搭建完毕了,进入bin目录挨个启动就好了。
$./zkServer.sh start
$./zkServer.sh start zoo1.cfg
$./zkServer.sh start zoo2.cfg
真正集群:
三个虚拟机,ip分别为192.168.1.105;192.168.1.106;192.168.1.107;
每个虚拟机上重复单节点安装的步骤。
注意zoo配置文件的末尾server的配置,如下:
在各自的虚拟机中对应的目录,内容为server.id的id
检测是否启动成功:
使用telnet工具
安装:yum install telnet
连接:telnet ip clientPort
小结
安装过程比较简单,参考也比较多。