Zookeeper是一个分布式应用程序的开源的分布式协调服务,它公开了一组简单的基元,分布式应用程序可以利用这些基元来实现更高级别的服务,以实现同步,配置维护以及组和命名。ZooKeeper背后的动机是减轻分布式应用程序从头开始实施协调服务的责任。
特点:
下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
解压
tar -zxf zookeeper-3.4.12.tar.gz
cd zookeeper-3.4.12/conf/
vim zoo.cfg
修改zoo.cf为如下内容
tickTime=2000
dataDir=/var/lib/zookeeper
dataLogDir=/var/lib/zookeeper/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=master:2888:3888
server.2=worker1:2888:3888
server.3=worker2:2888:3888
** 注意 ** master、worker1、worker2分别是在/etc/hosts中已经定义好的集群hostname
[master]
复制master上的Zookeeper到其他服务器
scp -r zookeeper-3.4.12 hadoop@worker1:/home/hadoop/
scp -r zookeeper-3.4.12 hadoop@worker2:/home/hadoop/
[三台服务器]
sudo mkdir /opt/zookeeper
sudo mv zookeeper-3.4.12 /opt/zookeeper
[三台服务器]
sudo mkdir /var/lib/zookeeper
sudo chown hadoop:hadoop /var/lib/zookeeper/
分别在不同的大数据服务器上添加myid
[master]
echo "1" > /var/lib/zookeeper/myid
[worker1]
echo "2" > /var/lib/zookeeper/myid
[worker2]
echo "3" > /var/lib/zookeeper/myid
sudo vim /etc/profile.d/zookeeper-3.sh
添加如下内容
#!/bin/sh
# Author:wangxiaolei 王小雷
# Github:https://github.com/lycheeman
export ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.12
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
source /etc/profile
[master上操作]
开启Zookeeper集群服务
pdsh -w master,worker1,worker2 ". /etc/profile && cd /opt/zookeeper/zookeeper-3.4.12/ && bin/zkServer.sh start"
查看
jps
通过status查看leader选举状态,可见worker2被选为leader。
pdsh -w master,worker1,worker2 ". /etc/profile && cd /opt/zookeeper/zookeeper-3.4.12/ && bin/zkServer.sh status"
pdsh -w master,worker1,worker2 ". /etc/profile && cd /opt/zookeeper/zookeeper-3.4.12/ && bin/zkServer.sh stop"
至此,Zookeeper快速配置、部署完成,Zookeeper为Hadoop、Hbase等等分布式应用的分布式协调服务打下了基础。
内容来源于网络,如有侵权,请联系作者删除!