Zookeeper(一)

介绍

分布式协做。zookeeper是google的chubby项目开源实现。最先是hadoop的子项目。apache

小米米聊、淘宝Taokeeper其实类zookeeper。服务器

Kafka使用zookeeper。消息发布订阅,其中zk就是用于检测节点崩溃。实现主题的发现,而且保持主题的生产和消费状态。分布式

Hbase三段查找,Root-Region=》Meta Region=》Region(Table)。hbase的元数据信息放在HBase。HMaster挂掉,立刻要节点恢复。oop

Hadoop。NameNode(SecondaryNameNode),HA Hadoop。通常状况下一个简单的hadoop集群,只有一个NameNode,若是NameNode挂掉,hadoop集群不可用。HA Haoop里面就要用到zk。google

 

解决的问题

  1. Master节点管理。master高可用(挂掉之后,谁来负责工做),保证惟一。
  2. 配置文件管理。统一把配置文件存在zk,由zk统一分发。
  3. 发布与订阅。发布者(producer)将数据发布到zk节点上,供订阅者(consumer动态获取)。
  4. 分布式锁。分布式环境访问同一个资源,由第三方配锁实现。由zk统一进行协调,保证数据一致性。
  5. 集群的管理。worker集群监控。

 

安装与配置

一、下载spa

  wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gzcode

二、解压orm

  tar -xzvf zookeeper-3.4.9.tar.gzblog

三、修改配置hadoop

  ../conf/zoo_sample.cfg

# 会话时间,以毫秒为单位
tickTime=2000

# master与slave通信时间,以秒为单位
initLimit=10

# master与slave心跳检测时间,以秒为单位
syncLimit=5

# 保存ZK快照和数据
dataDir=/usr/zookeeper/data/zk1

# 客户端端口
clientPort=2181

# service.1表明服务器表示,需在dataDir建立myid文件,内容是1;localhost表示master服务器;第一个端口表示通信端口;第二个端口表示选举端口
service.1=localhost:2888:3888
service.2=localhost:2889:3889
service.3=localhost.2890:3890

 

经常使用API

启动

[root@localhost conf]# zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

中止

[root@localhost conf]# zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

查看状态

[root@localhost conf]# zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

 

1.     Master节点管理

相关文章
相关标签/搜索