zookeeper的安装与介绍

【待完善】

zookeeper的安装与介绍

0.前言

zookeeper分布式系统的协调服务
1.hbase中也要使用到zookeeper,让HMaster知道Region Server的存在。
2.HDFS中的HA机制,两个namenode的状态互相感知
3.比如solr集群中的各个服务器如何更新配置文件。

可以为用户存储数据
可以为用户读取数据
可以为用户提供监听通知服务。

1.上传安装包
2.tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local
3.cd /usr/local
4.cd conf
5.vi zoo.cfg

6.参数说明
0tickTime=//心跳
initLimit
server.1=localhost:2888:3888
dataDir=/root/zkdata  设置zookeeper的数据目录
clientPort=2181  默认值
创建数据目录,要在zk集群的每一台机器上创建
mkdir /root/zkdata

在数据目录中创建myid文件,要在zk集群每一台机器上都创建,而且每一台机器上
的myid内容不同
echo 1 > zkdata/myid

分发安装包到各台机器

启动zookeeper【一定要添加上start,否则会报错】
bin/zkServer.sh start  

follower与leader的角色

killall java 杀死所有进程
ps -ef |grep java 查看进程执行的具体情况
自己写一个shell脚本启动zk集群。


zk集群中的节点的角色
1.Leader  主节点
2.Follower  从节点
3.Obsever 丛节点

客户端向zk注册数据时,都要通过leader来对整个集群中的所有节点做数据同步

follower会参与集群leader的选举
observer不会参与集群leader的选举

集群启动之时,
server1启动,启动之后,查看集群中是否有leader,如果没有,则进入投票状态。开始往集群中广播投票:选自己
server2启动,发现集群中没有leader:也投票选举:选自己
接着,server1与server2都收到了两个投票信息,票1 :选1;票2:选2

两个节点都没有成功当选leader,
再来一轮投票:
server1投:投id更大的server  -->2
server2投:投id更大的server  -->2
此时,集群进入正常工作状态


集群运行中
1.运行中,如果leader宕机,剩下的机器会自动进入选举状态,重新选举,选举的依据是:优先考虑所持有的数据的版本号;次之,考虑id;


zookeeper的基本使用
1.zookeeper的
bin/zkcli.sh 启动自己的客户端,连接到localhost
ls /
ls /zookeeper
create /aaa 888  (key-value)的形式创建 
create /aa/bb 999


查看zookeeper中的数据
get /aaa
get /aa/bb
命令 rm 的使用

zookeeper只适合用来传递小文件,如果是大文件,则网络的延迟很大。zookeeper中的数据本质上是一些key value,但是zk得key有特点,使用路径表示
zk中的一个数据,叫做一个znode,一个znode中的数据不能太大,通常在10Kb以内。

create -e /xxx uuu
01,ephemeral节点:短暂节点。创建该节点的客户端如果跟zk失去联系,该数据节点会被zk服务自动删除。
02,Persisten节点:持久节点,一旦被创建,就会一直存在,除非手动删除
03,Sequential节点:带自增序号的节点, 在同一个节点下创建的sequential子节点,zk会给子节点编号

上述三类可以组合。
ps持久带 持久不带
es



再使用bin/zkCli.sh 开启Client

检查当前zookeeper集群中每个节点的状态:
./zkServer.sh status

zookeeper的安装与介绍

0.前言

zookeeper分布式系统的协调服务,常见的使用场景如下:
1.hbase中需要使用到zookeeper,让HMaster感知Region Server的存在。
2.HDFS中的HA机制,两个namenode的状态互相感知
3.比如solr集群中的各个服务器如何更新配置文件。
客户端向zk注册数据时,都要通过leader来对整个集群中的所有节点做数据同步。

1.常用功能

  • 可以为用户存储数据
  • 可以为用户读取数据
  • 可以为用户提供监听通知服务。

2.简单安装

1.上传安装包
2.tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local
3.cd /usr/local
4.cd conf
5.vi zoo.cfg

6.在数据目录中创建myid文件,要在zk集群每一台机器上都创建,而且每一台机器上
的myid内容不同
echo 1 > zkdata/myid

7.分发安装包到各台机器【做相同的修改】
8.启动zookeeper【一定要添加上start,否则会报错】
bin/zkServer.sh start
9.zk集群中的节点的角色

  • 1.Leader 主节点
  • 2.Follower 从节点
  • 3.Obsever 丛节点

常用参数说明
tickTime=//心跳
initLimit
server.1=localhost:2888:3888
dataDir=/root/zkdata 设置zookeeper的数据目录
clientPort=2181 默认值
创建数据目录,要在zk集群的每一台机器上创建
mkdir /root/zkdata

follower与leader的角色

killall java 杀死所有进程
ps -ef |grep java 查看进程执行的具体情况
自己写一个shell脚本启动zk集群。

3.工作机制

follower会参与集群leader的选举;observer不会参与集群leader的选举。
集群启动时,
server1启动,启动之后,查看集群中是否有leader,如果没有,则进入投票状态。开始往集群中广播投票:选自己
server2启动,发现集群中没有leader:也投票选举:选自己
接着,server1与server2都收到了两个投票信息,票1 :选1;票2:选2

扫描二维码关注公众号,回复: 2407811 查看本文章

两个节点都没有成功当选leader,再来一轮投票:
server1投:投id更大的server –>2
server2投:投id更大的server –>2
此时,集群进入正常工作状态

集群运行中
1.运行中,如果leader宕机,剩下的机器会自动进入选举状态,重新选举,选举的依据是:优先考虑所持有的数据的版本号;次之,考虑id;

4.zookeeper的基本使用

1.启动客户端
bin/zkCli.sh 连接到localhost
ls /
ls /zookeeper
create /aaa 888 (key-value)的形式创建
create /aa/bb 999

2.查看zookeeper中的数据
get /aaa
get /aa/bb
命令 rm 的使用

zookeeper只适合用来传递小文件,如果是大文件,则网络的延迟很大。zookeeper中的数据本质上是一些key value,但是zk得key有特点,使用路径表示
zk中的一个数据,叫做一个znode,一个znode中的数据不能太大,通常在10Kb以内。

create -e /xxx uuu
01,ephemeral节点:短暂节点。创建该节点的客户端如果跟zk失去联系,该数据节点会被zk服务自动删除。
02,Persisten节点:持久节点,一旦被创建,就会一直存在,除非手动删除
03,Sequential节点:带自增序号的节点, 在同一个节点下创建的sequential子节点,zk会给子节点编号

猜你喜欢

转载自blog.csdn.net/liu16659/article/details/81133540