Zookeeper简介和部署

Zookeeper简介和部署

1.zookeeper简介

       zookeeper分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题。例如,统一命名服务、状态同步服务、集权管理、分布式应用配置项的管理等。
       zookeeper是以Fast Paxos算法为基础的。
       zookeeper集群初始化过程:集群中所用机器以投票的方式(少数服从多数)选取一台作为leader(领导者),其余机器作为follower(追随者)。如果集群中只有一台机器,那么就这太机器就是leader,没有follower。
       zookeeper集群与客户端的交互:客户端可以在任意情况下,与zookeeper集群中任意一台机器上进行读操作;但是写操作必须得到leader的同意后才可执行。
       zookeeper选取leader的核心算法思想:如果某服务器获得N/2+1票,则该服务器成为leader,其中N为集群中机器数量。为了避免出现两台服务器获得相同票数(N/2),应该确保N为奇数,因此构建zookeeper集群最少需要3台机器。

2.zookeeper部署

2.1安装JDK

2.2 修改配置文件

1.ip及主机名

IPhostname
192.168.232.128master
192.168.232.129slave01
192.168.232.130slave02

2.解压zookeeper-3.4.8.tar.gz

    tar -zxvf zookeeper-3.4.8.tar.gz

3.修改配置文件zoo.cfg
    将conf目录下的zoo_sample.cfg复制成zoo.cfg

    cd /usr/local/zookeeper/conf
    mv zoo_sample.cfg zoo.cfg

   打开zoo.cfg,并编辑

   vi zoo.cfg
   --------------------------------------
   # The number of ticks that the initial 
   # synchronization phase can take
   initLimit=10
   # The number of ticks that can pass between 
   # sending a request and getting an acknowledgement
   syncLimit=5
   # the directory where the snapshot is stored.
   # do not use /tmp for storage, /tmp here is just 
   # example sakes.
   dataDir=/usr/local/zookeeper/data
   # the port at which the clients will connect
   clientPort=2181 
   # the maximum number of client connections.
   # increase this if you need to handle more clients
   #maxClientCnxns=60
   #
   # Be sure to read the maintenance section of the 
   # administrator guide before turning on autopurge.
   #
                   #http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
   #
   # The number of snapshots to retain in dataDir
   # autopurge.snapRetainCount=3
   # Purge task interval in hours
   # Set to "0" to disable auto purge feature    
   # autopurge.purgeInterval=1
   #The directory where the log is stored.
   dataLogDir=/usr/local/zookeeper/log
   server.1=master:2888:3888
   server.2=slave01:2888:3888
   server.3=slave02:2888:3888

    创建文件

mkdir /usr/local/zookeeper/data
mkdir /usr/local/zookeeper/log

  将/usr/local/zookeeper目录传到另外两台机器上

scp -r /usr/local/zookeeper root@slave01:/usr/local/
scp -r /usr/local/zookeeper root@slave02:/usr/local/

  分别在在三个节点上/usr/local/zookeeper/data目录下创建文件myid,并分别在myid上按照配置文件zoo.cfg中server.中的id的数值,在不同机器上的文件中填上相应数组

cd /usr/local/zookeeper/data
echo "1" >> myid    --master
echo "2" >> myid    --slave01
echo "3" >> myid    --slave02

2.3启动zookeeper集群

分别进入三个节点的bin目录,启动zookeeper

cd /usr/local/zookeeper/bin
./zkServer.sh start

查看zookeeper的状态信息

./zkServer.sh status

follower
leader

3.问题

  启动zookeeper集群后,查看状态看见Error contacting service. It is probably not running.
解决方案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值