ZK集群搭建和配置
1. 克隆三台空虚拟机(含有jdk和lrzsz),修改网络ip,并关闭虚拟机的防火墙 临时关闭:service iptables stop 永久关闭:chkconfig iptables off
2. 安装和配置jdk(克隆的母机中安装配置过jdk,此步可省)
3. 安装和配置zookeeper cd /usr/soft 使用rz命令将zookeeper-3.4.7.tar.gz上传到虚拟机的/usr/soft
[root@localhost conf]# tar –zxvf /usr/soft/zookeeper-3.4.7.tar.gz
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
4.配置zoo.cfg
配置说明:
tickTime=2000 心跳间隔周期 毫秒。
initLimit=10初始连接超时阈值=10*tickTime。指的是follower初始连接leader的超时时间。 如果网络环境不好,适当调大。
syncLimit=5连接超时阈值=syncLimit*tickTime。指的是follower和leader做数据交互的超 时时间。如果网络环境不好,适当调大。
dataDir=/usr/soft/zookeeper-3.4.7/tmp dataDir数据目录指的是zookeeper znode树的 持久化目录,
clientPort=2181:配置的是客户端连接zk服务器的端口号
server.1=192.168.80.94:2888:3888
server.2=192.168.80.95:2888:3888
server.3=192.168.80.96:2888:3888
server后的数字是选举id,在选举过程中会用到。注意:数字一定要能比较出大小。
2888 端口原子广播端口,可以自定义 3888 端口选举端口,可以自定义 在zk安装目录下创建tmp文件,创建myid文件(名字固定),
并编辑当前虚拟机的选举id Mkdir /usr/soft/zookeeper-3.4.7/tmp tmp#vim myid (内容为1)
远程拷贝zk的安装目录到zk2、zk3上
[root@localhost software]# scp -r zookeeper-3.4.7/ root@192.168.80.95:/home/software
[root@localhost software]# scp -r zookeeper-3.4.7/ root@192.168.80.96:/home/software
分别修改myid,zk2->2,zk3->3 如果拷贝不过去或者拷贝太慢,
可以先打包并压缩:
[root@localhost software]# tar -zcvf zk.tar.gz zookeeper-3.4.7/
然后在scp 然后在解压:
[root@localhost home]# tar -zxvf zk.tar.gz
5.启动zk集群测试 分别启动zk
[root@localhost bin]# ls
README.txt zkCli.cmd zkEnv.cmd zkServer.cmd zkCleanup.sh zkCli.sh zkEnv.sh zkServer.sh
[root@localhost bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default Using config: /usr/soft/zookeeper-3.4.7/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
[root@localhost bin]# jps
3490 Jps
3464 QuorumPeerMain
[root@localhost bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default Using config: /usr/soft/zookeeper-3.4.7/bin/../conf/zoo.cfg
Mode: follower
如果启动顺序为zk1->zk2->zk3,通常zk2为leader。
命运给予的,无论多少,皆需认真对待。朗如日月,清如水镜
------------------------------------------------------