zookeeper来源
Google:
bigTable和GFS中包含chubby框架服务,
chubby是一个分布式锁服务,基于paxos算法(超过一半机器运行正常,认为该集群可以正常对外提供服务)
HBASE -zookeeper
HDFS -zookeeper
需要掌握什么
了解它数据结构,思想
环境搭建
很多框架都依赖于zookeeper,
HDFS HA
RM HA
HBase
redis
solr
kafka:MQ,缓存
Storm
总结:
都是其他框架依赖于zookeeper框架,在安装部署其他框架的时候,需要告知zookeeperCluster地址即可。只需要配置一个属性即可
zookeeper.ip=xx:2181,yy:2181,zz:2181
zookeeper server
运行机器没有太大的要求,就是一个进程
节点数:2N+1(N>=1整数)
2个角色
leader:领导
follower:跟随者,属下
zookeeper的数据结构
与Linux文件系统非常类型,每个节点成为ZNode,每个节点都可以存储数据
安装模式
单机模式:一台机器,一个进程(一个服务)
伪分布式模式:一台机器,多个进程(多个服务)
完全分布式:多台机器,多个进程
zookeeper安装
1.上传解压
2.修改配置文件
重命名
mv zoo_sample.cfg zoo.cfg
修改为自定义路径
dataDir=/opt/cdh5.7.6/zookeeper-3.4.5-cdh5.7.6/data/zkData
3.启动
./zkServer.sh start
4.查看进程
jps
ps -ef |grep java
5.查询状态方式
测试
运行客户端:./zkCli.sh
基本命令:
查看节点信息: ls
创建节点:create /test1 helloZookeeper
查看节点信息:get /
关闭客户端:quit
QuorumPeerMain:
Quorum:法定人数,定额
Peer:平等,对等
(1)zookeeper启动之后,机器数量是固定,不允许动态扩容
(2)zookeeper中2种角色没有主从之分,每个zookeeper服务都可能成为leader,follower
分布式安装
安装思路:
先将一台安装好,然后分发(scp),和单机安装是一样的,
配置文件,修改配置
创建文件myid,注意目录
在上图中的datadir中建立myid
myid区分机器
分发到2,3号机器
scp -r zookeeper-3.4.5-cdh5.7.6/ bigdata-hpsk02.huadian.com:/opt/modules/
scp -r zookeeper-3.4.5-cdh5.7.6/ bigdata-hpsk03.huadian.com:/opt/modules/
修改myid的值
分别启动
bin/zkServer.sh start
查看状态
bin/zkServer.sh status