zookeeper安装配置
概念
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
官方介绍:https://zookeeper.apache.org/doc/r3.4.14/
架构设计
192.168.56.100 | 节点1 |
192.168.56.110 | 节点2 |
192.168.56.120 | 节点3 |
jdk版本 1.8 | zookeeper版本3.4.14 |
下载安装包
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ #国内 https://www.apache.org/dyn/closer.cgi/zookeeper/ #官网
配置互信
# ssh-keygen -t rsa # ssh-copy-id localhost # ssh-copy-id ……… #依次拷贝至其他节点 其余节点重复操作
防火墙及selinux
1 建议关闭
上传安装包至节点一
上传安装包至节点一的/opt目录下并解压 #可自定义目录
1 #cd /opt 2 #tar -zxvf zookeeper-3.4.14.tar.gz 3 #mv zookeeper-3.4.14 zookeeper 4 #mkdir -p zookeeper/zklogs
修改配置文件
1 #cd /opt/zookeeper/conf 2 #cp zoo_sample.cfg zoo.cfg 3 #修改或增配置在配置文件zoo.cfg内 4 5 dataDir=/opt/zookeeper/zklogs #修该此字段值 6 server.1=192.168.56.100:2888:3888 #底部新增如下三条 7 server.2=192.168.56.110:2888:3888 8 server.3=192.168.56.120:2888:3888
表单server.X构成ZooKeeper服务的服务器。当服务器启动时,它通过在数据目录中查找文件myid来知道它是哪个服务器。
服务器名称后面的两个端口号:“2888”和“3888”,用于节点通信和leader选举
打包文件分发至其他节点
1 #cd /opt 2 #tar -czf zookeeper.tar.gz zookeeper 3 #scp zookeeper.tar.gz master2:/opt 4 #scp zookeeper.tar.gz node1:/opt
配置serverid
在datadir目录下新建配置文件myid,在不同节点按照优先级配置1234 例 #master1#echo 1 > /opt/zookeeper/zklogs/myid #master2#echo 2 > /opt/zookeeper/zklogs/myid ***************************************
环境变量
1 修改/etc/profile配置文件增加或修改 2 #export ZOOK_HOME=/opt/zookeeper 3 #export PATH=$PATH:$ZOOK_HOME/bin
执行如下命令使环境变量生效
source /etc/profile
开启服务
1 master1# zkServer.sh start 2 master2# zkServer.sh start 3 node1 # zkServer.sh start
查看状态
节点三: #zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Mode: follower 节点二: #zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Mode: leader 节点一: #zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Mode: follower
常用命令
1 #zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
#关闭leader节点的服务,然后查看其他两个节点的状态,leader去哪了