目录
第一台主机
其他两台主机
启动
常见报错
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
这里你需要修改两处:
注意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。
zkServer.sh start
表示启动成功
2.查看当前状态及主从关系
zkServer.sh status
表明我的第一台主机被选举为follower,第二台主机为leader
如果是单机模式会显示standalone
3.关闭
zkServer.sh stop
查看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的安装包
原文链接(会有更新)
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.