我爱编程ProMonkey Lab

Linux下Zookeeper集群配置

2018-06-27  本文已影响0人  ProMonkey_LAIN

简介

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

  1. 选举Leader,选举机制大于1/2。
  2. 同步数据。
  3. 选举Leader过程中算法有很多,但要达到的选举标准是一致的。
  4. Leader要具有最高的执行ID,类似root权限。
  5. 集群中大多数的机器得到响应并Follow选出的Leader。
  1. 恢复数据;
  2. 维持与Learner的心跳,接收Learner请求并判断Learner的请求消息类型;
  3. Learner的消息类型主要有PING消息、REQUEST消息、ACK消息、REVALIDATE消息,根据不同的消息类型,进行不同的处理。PING消息是指Learner的心跳信息;REQUEST消息是Follower发送的提议信息,包括写请求及同步请求;ACK消息是Follower的对提议的回复,超过半数的Follower通过,则commit该提议;REVALIDATE消息是用来延长SESSION有效时间。

安装配置

IP HOST_NAME
192.168.10.10 Ser-Zookeeper01
192.168.10.11 Ser-Zookeeper02
192.168.10.12 Ser-Zookeeper03
cd  /home/worker/soft/
wget http://10.12.3.24/soft/jdk/jdk1.8.0_65.tar.gz
mkdir -p /home/worker/usr/local/
tar xf jdk1.8.0_65.tar.gz -C /home/worker/usr/local/
ln -s /home/worker/usr/local/jdk1.8.0_65 /home/worker/usr/local/jdk
vim ~/.bash_profile
#########JDK ENV#########
export JAVA_HOME=/home/worker/usr/local/jdk
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

生效环境变量
source ~/.bash_profile
wget http://10.12.3.24/upload/zhaobin/zookeeper/zookeeper-3.4.6.tar.gz
tar xf zookeeper-3.4.6.tar.gz -C ~/opt/ 
cd ~/opt/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg

#修改配置文件
vim zoo.cfg
dataDir=/home/worker/opt/zookeeper_data/

#创建数据目录
mkdir -p /home/worker/opt/zookeeper_data/
/home/worker/opt/zookeeper-3.4.6/bin/zkServer.sh --help
JMX enabled by default
Using config: /home/worker/opt/zookeeper-3.4.6/bin/../conf/zoo.cfg
Usage: /home/worker/opt/zookeeper-3.4.6/bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

集群配置

vim /etc/hosts
192.168.10.10   Ser-Zookeeper01
192.168.10.11   Ser-Zookeeper02
192.168.10.12   Ser-Zookeeper03
vim zoo.cfg
server.1=Ser-Zookeeper01:2888:3888 
server.2=Ser-Zookeeper02:2888:3888 
server.3=Ser-Zookeeper03:2888:3888
[worker@Ser-Zookeeper01 conf]$ echo '1' >> /home/worker/opt/zookeeper_data/myid
[worker@Ser-Zookeeper02 conf]$ echo '2' >> /home/worker/opt/zookeeper_data/myid
[worker@Ser-Zookeeper03 conf]$ echo '3' >> /home/worker/opt/zookeeper_data/myid
~/opt/zookeeper-3.4.6/bin/zkServer.sh restart
上一篇 下一篇

猜你喜欢

热点阅读