一、解压缩文件
我的zookeeper版本是3.6.2,与之前介绍的jdk8和hadoop-3.3.4版本是兼容状态,如果有兴趣,可以去寻找一下我之前的文章。
文件链接:https://pan.baidu.com/s/1kMJiJLjh96smj5u-A6FXQw?pwd=4vzo
可以拷贝在U盘中,再从U盘导入至虚拟机中(之前在JDK的安装这篇文章中有提到过)。
- 以下的操作步骤全部是在master机器上进行。
- 接下来讲述的是解压缩zookeeper文件:
- 在opt文件夹中解压缩后,需要对zookeeper文件进行重命名:“apache-zookeeper-3.6.2-bin”——>“zookeeper-3.6.2”
- 以上步骤完成后,进入“zookeeper-3.6.2”文件夹,新建一个“data”文件夹 。
- 之后进入终端,敲入以下命令:
[root@master ~]# cd /opt/zookeeper-3.6.2/data/
[root@master data]# echo 1 > myid
- 修改data的权限:
chmod 766 data/
二、配置环境变量
- 在“bashrc”配置zookeeper的环境变量:
#zookeeper_config
export ZOOKEEPER_HOME=/opt/zookeeper-3.6.2
export PATH=$PATH:$ZOOKEEPER_HOME/bin
- 配置完成后,保存一下,打开终端敲入生效命令:
[root@master ~]# source /etc/bashrc
- 打开“zookeeper-3.6.2”下的“coof”;
- 找到“zoo_sample.cfg”文件,按住“ctrl”键,拖动此文件,复制出一个文件;
- 将复制出的文件重命名为“zoo.cfg”;
- 打开“zoo.cfg”文件,找到“dataDir=tmp/zookeeper”,把“=”后面的路径修改成刚才创建的data文件夹的路径;
- 在“zoo.cfg”文件最后添加以下内容:server.1=master:2888:3888;server.2=slave0:2888:3888;server.3=slave1:2888:3888(这段内容可能会涉及到一个“2181端口被占用的问题”****)
- 2181端口被占用的问题****解决之法:进入zookeeper文件——>logs——>zookeeper-root-server-master.out(日志文件)——>移到最后——>如果出现“连接不到主机的路由”——>可以在终端中相互"ping"一下三台虚拟机,若可以ping通,则可以考虑一下防火墙的问题。
解决方法:
- 方法一:查看日志,是否在日志中出现“连接不到主机的路由”,如果有,则可以在终端中相互ping一下三台虚拟机。
- 方法二:防火墙的问题(“永久”;“2888-3888”)
在方法二中三台虚拟机都需要设置一下防火墙,以上步骤全部结束后(仅限方法二),重启虚拟机,问题就可以解决了。
- 用master控制slave1与slave2,在bashrc文件中添加zookeeper的环境变量(使用“:wq”命令退出vim编辑页面):
三、在master上把zookeeper-3.6.2文件远程发送给slave0与slave1
[root@master ~]# cd /opt/
[root@master opt]# scp -r zookeeper-3.6.2/ root@slave0:/opt/
[root@master ~]# cd /opt/
[root@master opt]# scp -r zookeeper-3.6.2/ root@slave1:/opt/
四、修改slave0与slave1的“myid”文件中的内容
- 用master控制slave0与slave1,修改myid:(master是1,slave0是2,slave1是3)
五、启动hadoop集群
可以查看一下我上一篇写的hadoop:http://t.csdn.cn/uu5FR
六、启动zookeeper
- 启动hadoop是在sbin(/opt/hadoop-3.3.4/sbin)目录下进行,而zookeeper是在bin(/opt/zookeeper-3.6.2/bin)目录下进行。
- 启动集群:
- master
./zkServer.sh start
- slave0与slave1
sh zkServer.sh start
- 查看jps进程:master一共有7个,在之前hadoop集群的基础上加了一个“quorumpeermain”,slave0与slave1一共4个,也是多了一个“quorumpeermain”。
七、查看集群状态
- 查看集群状态命令:
sh zkServer.sh status
- 会有follower、leader、follower,这个是系统随机产生的,所以不用在意。
- 如果集群状态出现了“2181端口被占用问题”,可以查看上面的第二大点(配置环境变量,我有说到两种解决办法)
八、关闭zookeeper
- master:
./zkServer.sh stop
- slave0与slave1:
sh zkServer.sh stop
九、关闭Hadoop集群
- ** 可以查看一下我上一篇写的hadoop:http://t.csdn.cn/uu5FR**
- 以上就是Linux安装zookeeper的详细过程,如果遇到问题可以留言或者私信。
版权归原作者 帝尊颖宝 所有, 如有侵权,请联系我们删除。