zookeeper介绍
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。更多详细的资料请自行 http://zookeeper.apache.org/
Zookeeper的安装和配置十分简单,既可以配置成单机模式,也可以配置成集群模式。本文只是简单介绍了在CentOS 环境下如何搭建集的步骤。
官网的集群安装在这里:http://zookeeper.apache.org/doc/r3.4.11/zookeeperAdmin.html#sc_zkMulitServerSetup
zookeeper集群搭建前提
1、请确认至少有两台+主机(如果硬件不够的话,你也可以试用虚拟机);本环境准备了3台Centos (v7.4.x) 虚拟机。
2、能够 常用Linux命令。
这三天服务器上都装了jdk1.8,命令如下:
#yum install java-1.8.0-openjdk
第一步:zookeeper下载
官方下载地址:http://zookeeper.apache.org/releases.html
清华镜像下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 。我选择的版本是清华的zookeeper-3.4.11。
地址为:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
第二步:zookeeper解压
下载下来的文件包为压缩包zookeeper-3.4.11.tar.gz。请使用tar -xzvf zookeeper-3.4.11.tar.gz
# tar zxvfzookeeper-3.4.11.tar.gz
第三步:zookeeper环境变量配置
cd ;vi.bash_profile
增加zookeeper的环境变量ZOOKEEPER_HOME的本地路径,并且增加到PATH中。
PATH=$PATH:$HOME/bin:/data/tools/zookeeper-3.4.11/bin
export PATH
第四步:zookeeper主机域名映射,配置hosts文件。
命令:
#vi /etc/hosts
10.70.27.10 zk1.irootech.com
10.70.27.12 zk2.irootech.com
10.70.27.8 zk3.irootech.com
第五步:zookeeper配置文件配置
进入zookeeper的conf子文件夹。/conf/zoo_sample.cfg文件复制一份,并更名为zoo.cfg。增加server节点。
dataDir=data/zookeeperdata
#cluster setup
server.1=zk1.irootech.com: 2888:3888
server.2=zk2.irootech.com: 2888:3888
server.3=zk3.irootech.com: 2888:3888
server.A=B:C:D 其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址(如果做了域名映射为域名);C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
在dataDir目录下创建一个myid文件,然后分别在myid文件中按照zoo.cfg文件的server.A中A的数值,在不同机器上的该文件中填写相应的值。例如server.1 在当前机器的myid中就只写上1就可以了。第六步:zookeeper识别文件创建。创建myid文件
第七步:Zookeeper配置拷贝到另外一台机器
在另外一台机器上试用scp命令远程拷贝当前Zookeeper文件夹。然后配置对应的环境变量和hosts映射。注意修改myid文件的值为2。
第八步:Zookeeper启动验证
进入bin目录执行命令“zkServer.sh start”启动Zookeeper。
不同机器上的Zookeeper需要单独启动。执行命令“zkServer.sh stop”将会停止Zookeeper。
第九步:zookeeper当前状态查看
进入bin目录执行命令“zkServer.sh status”。
zookeeper领导者(leader):
ZooKeeper JMX enabled by default
Using config: /data/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: leaderzookeeper跟随者(follower):
ZooKeeper JMX enabled by default
Using config: /data/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: follower
第十步:zookeeper动态日志查看
进入bin目录,使用 tail –f zookeeper.out 查看当前输入日志
到此,完成Zookeeper集群配置工作。
后话
如果出现Error contacting service. It is probably not running的错误的时候,解决方法为:
1)一般情况下问题存在于防火墙开启的原因,关闭防火墙就可以了。CentOS 7默认使用的是firewall作为防火墙,命令如下: