虚拟机下的zookeeper集群安装

  ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。下面是我在虚拟机上以集群的形式安装zookeeper的记录,供大家参考。对于集群模式,至少使用3台服务器,最好是奇数台。

用到的软件:VMware Workstation(安装Centos)、Xftp(往虚拟机传输文件)、Xshell(连接虚拟机)

 

操作步骤如下

1、下载zookeeper压缩包并上传

这里我下载的版本是zookeeper-3.3.3.tar.gz,通过xftp上传到3台虚拟机上的/usr/share/zookeeper目录下。

zookeeper目录创建命令:

cd /usr/share

mkdir zookeeper

2、解压并配置zookeeper

cd /usr/share/zookeeper

tar -zxvf zookeeper-3.3.3.tar.gz

rm -rf zookeeper-3.3.3.tar.gz

创建data目录和myid文件

cd /usr/share/zookeeper/zookeeper-3.3.3/

mkdir data

touch myid

vim myid->按I键->输入1或者2或者3(3台虚拟机分别对应1、23)->按Esc键->:wq保存退出

cd /usr/share/zookeeper/zookeeper-3.3.3/conf

mv zoo_sample.cfg zoo.cfg

vim zoo.cfg->按I键->修改文件内容为如下->按Esc键->:wq保存退出

clientPort=2181
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/share/zookeeper/zookeeper-3.3.3/data
server.1=192.168.147.129:2888:3888
server.2=192.168.147.130:2888:3888
server.3=192.168.147.131:2888:3888

 参数说明:

clientPort-监听客户端连接的端口;
tickTime-ZooKeeper使用的基本时间单位(以毫秒为单位)。 它用于做心跳,最小会话超时将是tickTime的两倍;
initLimit-初始同步阶段可以采用的滴答数;
syncLimit-服务器与leader服务器的请求响应过期时间;
dataDir-存储内存数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。
server.1后面的1代码myid配置的数字;
192.168.147.129代表虚拟机IP地址;
2888是zookeeper应用的端口,用于集群内的机器通讯;
3888是leader选举的端口。

 

3、启动zookeeper并查看状态

进入bin目录:

cd /usr/share/zookeeper/zookeeper-3.3.3/bin

三台虚拟机分别执行如下命令:

./zkServer.sh start

等待一段时间后,用如下命令查看每台虚拟机的zookeeper状态:

echo stat|nc 127.0.0.1 2181
原文地址:https://www.cnblogs.com/stm32stm32/p/10795342.html