关于zookpeer的集群搭建


这段时间因为用的hbase 自带的zk做的测试 ,现在想把zk换成真实zk集群 刚搭好顺便做个笔记


zookeeper集群(注意:zk各个节点时间必须要一致)
集群规划:三个节点 
1:首先操作

把zookeeper-3.4.6.tar.gz上传到服务器的/usr/local
2:解压
tar -zxvf zookeeper-3.4.6.tar.gz
3:重命名
mv zookeeper-3.4.6 zookeeper
4:修改配置文件
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
dataDir=/usr/local/zookeeper/data
server.0=192.168.190.129:2888:3888
server.1=192.168.190.130:2888:3888
server.2=192.168.190.131:2888:3888

可选:最好加上
配置zk的日志文件:
vi /opt/zookeeper/conf/log4j.properties
讲一下两个属性修改下:
zookeeper.log.dir=/opt/zookeeper/logs     
zookeeper.tracelog.dir=/opt/zookeeper/logs


vi /opt/zookeeper/bin/zkEnv.sh
在ZOOKEEPER_PREFIX="${ZOOBINDIR}/.."的下面一行
添加如下语句:
ZOO_LOG_DIR=/opt/zookeeper/logs



5:在数据存储目录下创建myid文件,保存当前节点的标识
cd /usr/local/zookeeper
mkdir data
cd data
vi myid
0


6:把171节点上面的zookeeper拷贝到集群的其他节点
cd /usr/local/
scp -rq zookeeper 192.168.190.131:/usr/local
scp -rq zookeeper 192.168.190.130:/usr/local

7:分别修改131和130中zk中的myid文件中的内容
针对130:
vi zookeeper/data/myid
1
针对131:
vi zookeeper/data/myid
2


8:启动集群
在每个节点的zookeeper根目录下执行下面命令
cd /usr/local/zookeeper
bin/zkServer.sh start



9:针对集群出现的问题的排查及解决方案
1:时间不同步的问题:只能同步时间
2:时间没问题,但是集群就是不能正常操作,发现通过zkcli链接某一些节点的时候,链接进去之后一直打印日志信息
解决方案:bin/zkCleanup.sh count 3
如果这样解决不了的话,建议,删除当前zk节点的data目录中的内容【除了myid文件,其余都删掉】



注意:zk服务监听的端口是2181




zk的基本命令
ls / 查看zookeeper下面的节点信息
create /aaa  hehe  在zk根节点下创建一个aaa节点,节点上存储的数据是呵呵
get /aaa  查看aaa节点上存储的数据
rmr /aaa 删除节点,如果这个节点有子节点,也会递归删除








zookeeper中的节点,有两种类型
1:永久节点,只要不主动删除,就一直存在
2:临时节点,
想要操作zk,需要先通过客户端链接进去,创建临时节点,这个时候,如果退出了客户端链接,或者链接中断了,
那么这个临时节点就会被自动删除掉,只要这个客户端链接一直存在,那么这个临时节点就一直存在。


节点上面还有一个特性:每一个节点上面都有一个watcher监视器,这个监视器可以监控子节点的所有变化情况。

你可能感兴趣的:(关于zookpeer的集群搭建)