作用
Zookeeper是用来管理集群的,加强集群的稳定性、持续性、有序性,提高集群的工作效率。
安装
这里我是用三台虚拟机搭建的集群。
1、上传zookeeper安装包到虚拟机上,进行解压:
我这里解压到了opt目录下:
为了方便调用,这里先改下名,然后修改环境变量。
2、环境变量及文件配置
环境变量:
vi /etc/profile
export ZK_HOME=/opt/zkper
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$ZK_HOME/bin:$PATH
配置完成后source使配置生效:
source /etc/profile
进入到zkper下的conf目录,配置zoo_sample.cfg
我这里改了名字成了zoo.cfg
vi zoo.cfg
对改文件进行增加和修改:
maxClientCnxns=0
initLimit=50
#指定数据目录
dataDir=/opt/zkper/zpdata
#指定日志目录
dataLogDir=/opt/zkper/zplogs
#最下方添加
server.1=cent03:2888:3888
server.2=cent04:2888:3888
server.3=cent05:2888:3888
保存退出后,需要建立两个文件zpdata和zplogs用于接收我们的数据和日志,退回上一级目录:
mkdir zpdata
mkdir zplogs
创建完成后,把配置文件复制到另外两台虚拟机中:
首先把环境变量文件复制过去,复制完成后也要source一下:
scp /etc/profile root@cent04:/etc/profile
复制zkper文件,因为另外两台虚拟机我没有解压安装包,所以这里直接把解压好的文件都传输过去:
-r表示传输所有文件,$PWDs是当前目录下的文件,这是在opt目录下进行的
scp -r zkper/ root@cent04:$PWD
传输完成后我们在我们建立的数据目录中建立一个myid文件用来标记,第一台机器为1,第二台为2,第三台为3
vi zpdata/myid
最后启动zookeeper:
./bin/zkServer.sh start
启动后,三台虚拟机会产生主从关系,分为leader和follower,
leader并不一定是设定的主机器,也有可能是另外两个机器,可以通过下列语句查看:
./bin/zkServer.sh status