zookeeper集群搭建,因为机器性能限制,集群只安装在一个linux系统中,搭建伪集群模式。java
工具及安装包:VMware虚拟机、xshell五、Centos 6.九、jdk-7u80-linux-x64.tar.gz、zookeeper-3.4.12.tar.gz。linux
注意:zookeeper3.5版本以上的下载包中,没有zookeeper相关jar包,因此,可选用3.4版本zookeeper使用。shell
一、安装jdk。缓存
下载jdk安装包(使用版本1.7),上传linux(若是是全新的系统,可能遇到“rz: command not found”错误,此时yum -y install lrzsz便可),解压。修改/etc/profile文件,增长:工具
如图,其中/usr/local/java为jdk安装目录。修改好并保存配置,重启linux系统或者使用source /etc/profile使得配置在当前窗口当即生效。性能
二、安装zookeeperui
zookeeper集群,通常机器数为大于3的奇数个,这样,即便集群中的主机leader挂了,机器数量仍是能够保证在半数之上,能够继续投票选举出新的主机leader提供服务。spa
本次使用3个zookeeper应用搭建伪集群,本次虚拟机ip:192.168.9.199,zookeeper服务监听端口分别为:2181,2182,2813,投票选举端口分别为2881/388一、2882/388二、2883/3883。server
2.一、上传zookeeper安装包,本文上传目录/usr/cfangData/tarFileblog
2.二、解压并维护目录
tar -zxf zookeeper-3.4.12.tar.gz
将解压后的zookeeper目录重命名,便于查看管理:mv zookeeper-3.4.12 /usr/cfangData/zk01
2.三、提供缓存数据目录
在zk01目录下,建立data目录,用于缓存应用的运行数据
cd zk01
mkdir data
2.四、设置zookeeper配置文件
zookeeper解压后的子目录conf中,默认存在zoo_sample.cfg配置文件模板。
zookeeper应用中的读取的配置文件为zoo.cfg,拷贝默认配置文件:cp zoo_sample.cfg zoo.cfg
修改zoo.cfg配置文件(vi zoo.cfg):
(1)设置数据的缓存路径(根据本身的实际应用地址设置,默认为 /tmp/zookeeper):dataDir=/usr/cfangData/zk01/data
(2)设置服务、投票、选举端口
clientPort=2181 #zookeeper服务端口,zk01 - 218一、zk02 - 218二、zk03 - 2183
#如下为投票选举配置,三份zookeeper彻底一致
server.1=192.168.9.199:2881:3881
server.2=192.168.9.199:2882:3882
server.3=192.168.9.199:2883:3883
2.六、设置惟一性标识
zookeeper集群中,每一个节点须要一个惟一性的标识。要求天然数且在集群中惟一,保存路径为$dataDir/myid,其中dataDir为2.4中zoo.cfg设置的路径。
两种方式创建标识文件:
方式一:在zookeeper的子目录data中,建立文件muid:touch myid
为应用提供惟一性标识,本次配置中,三个zookeeper分别设置为1,2,3。
vi myid,
方式二:echo 惟一性标识 >> myid,例:echo 1 >> myid
2.五、复制zk01应用,用于模拟集群的3个节点
cp -r zk01 zk02
cp -r zk01 zk03
2.六、修改zk0二、zk02配置信息
(1)修改zk0二、03的myid文件,分别设置为2,3
(2)修改zk0二、03的zoo.cfg文件,分别clientPort=218二、clientPort=2183
2.七、启动zookeeper
zookeeper子目录bin中,zkServer.sh为启动文件,启动命令:zk01/bin/zkServer.sh start
zk02/bin/zkServer.sh start
zk03/bin/zkServer.sh start
zookeeper集群,因为须要选举出主服务leader节点,至少启动2个zk服务。启动完成,能够使用zk01/bin/zkServer.sh status命令查看节点状态
Mode: leader - 主机、Mode: follower - 备份机
如图:
其中jps查看java进程,三个QuorumPeerMain即为zookeeper的进程信息。
图中zk02为leader节点,zk0一、03为follower节点。
2.八、关闭zookeeper服务
zk01/bin/zkServer.sh stop