zookeeper集群环境搭建

目录

第一台主机

其他两台主机

启动

常见报错

Starting zookeeper ... FAILED TO START


3台Linux虚拟机,与 hadoop环境搭建 相同

第一台主机

1.下载安装包

在 Index of /apache/zookeeper 找到你想下载的版本

2.我下载的是稳定版3.6.3,记得下载带bin的安装包,详见常见报错1

tar xzf apache-zookeeper-3.6.3-bin.tar.gz

3.修改配置文件

在/home/zookeeper/conf目录下找到名为zoo_sample.cfg的文件,内容修改如下,然后重命名为zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zookeeper/data
dataDirLog=/home/zookeeper/dataLog
clientPort=2181
server.1=192.168.79.128:2888:3888
server.2=192.168.79.138:2888:3888
server.3=192.168.79.143:2888:3888

这里你需要修改两处:

  • dataDir和dataDirLog要写你自己的路径,可自定义
  • 最后三行要写与你虚拟机对应的ip地址,端口号就写2888和3888,不要修改,注意冒号前后不要有空格。

注意server后面的数字要与你之后写的myid文件里的数字对应

4.进入你刚刚定义的dataDir,也就是在data文件夹下,输入

echo 1 >> myid

文件名为myid,里面内容是1

5.配置zookeeper环境变量(方法同上一篇教程)

打开/root/.bashrc

加上我之前配置的java和hadoop的环境变量,现在我的配置是

export HADOOP_HOME=/home/hadoop/hadoop-2.6.5
export JAVA_HOME=/home/java/jdk1.8.0_11
export ZOOKEEPER_HOME=/home/zookeeper
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin

然后输入命令

source /root/.bashrc

其他两台主机

三台虚拟机配置几乎一毛一样,要修改的只有myid文件

先把zookeeper整个目录传给其他两台虚拟机

scp -r /home/zookeeper 192.168.79.138:/home
scp -r /home/zookeeper 192.168.79.143:/home

再修改data目录下myid文件,文件中的id与虚拟机ip的对应关系与zoo.cfg中的对应关系保持一致。

比如我在192.168.79.138上myid写的是2,192.168.79.143上myid写的是3。

启动

  1. 分别在三台虚拟机上输入以下命令,顺序无所谓
zkServer.sh start

表示启动成功

2.查看当前状态及主从关系

zkServer.sh status

表明我的第一台主机被选举为follower,第二台主机为leader

如果是单机模式会显示standalone

3.关闭

zkServer.sh stop

常见报错

Starting zookeeper ... FAILED TO START

查看logs文件夹里面的out文件,报错提示

Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain

其实没看懂。。。

然后这里告诉我下错安装包了。。。

Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain

应该下载带bin的安装包

zookeeper集群环境搭建_第1张图片 同样的一顿配置后,zookeeper成功启动

原文链接(会有更新)

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

你可能感兴趣的:(zookeeper)