目录
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。
启动
- 分别在三台虚拟机上输入以下命令,顺序无所谓
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成功启动
原文链接(会有更新)
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.