赞
踩
系统CentOS 7,已安装JDK8,已配置JAVA_HOME环境变量和PATH环境变量,已配置主机名、已配置SSH免密登录,防火墙已关闭。Zookeeper版本3.6.2。
wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
tar -zxf apache-zookeeper-3.6.2-bin.tar.gz
- cd apache-zookeeper-3.6.2-bin
- cd conf/
- cp zoo_sample.cfg zoo.cfg
- vi zoo.cfg
- dataDir=/var/lib/zookeeper
- server.1=hadoop1:2888:3888
- server.2=hadoop2:2888:3888
- server.3=hadoop3:2888:3888
创建zookeeper数据目录,在数据目录创建名为myid的文件,文件内容就是一个数字,和配置文件中的主机名、序号对的上即可:
- mkdir -p /var/lib/zookeeper
- echo "1" > /var/lib/zookeeper/myid
在另外两个节点上执行同样操作,myid内容和配置文件对应:
- ssh hadoop2 "mkdir -p /var/lib/zookeeper"
- ssh hadoop2 "echo '2' > /var/lib/zookeeper/myid"
- ssh hadoop3 "mkdir -p /var/lib/zookeeper"
- ssh hadoop3 "echo '3' > /var/lib/zookeeper/myid"
备注:需要配置了免密才能成功运行上面的命令
用scp命令将/opt/apache-zookeeper-3.6.2-bin文件夹所有内容复制到另外两个节点上:
- scp -r apache-zookeeper-3.6.2-bin hadoop2:$PWD
- scp -r apache-zookeeper-3.6.2-bin hadoop3:$PWD
注意,执行上述命命令的当前目录是/opt目录,$PWD变量的值就是当前目录。
为了方便,这里使用自己写的脚本来同时启动三个节点的zookeeper,脚本名定为all-start.sh,内容如下:
- #!/bin/bash
- hosts="hadoop1 hadoop2 hadoop3"
- zk_path="/opt/apache-zookeeper-3.6.2-bin"
- for host in $hosts
- do
- ssh -t $host << EOF
- cd $zk_path
- bin/zkServer.sh start
- EOF
- done
- echo "启动完成"
运行脚本all-start.sh:
sh all-start.sh
至此,zookeeper集群搭建配置完成并启动成功。
bin/zkCli.sh -server 127.0.0.1:2181
查看/:
如果无法连接,请检查防火墙是否已放行2181、2888、3888等端口。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。