Zookeeper学习

zookeeper概述

zookeeper是什么

1. zookeper是一个为分布式应用程序提供的一个分布式开源协调服务框架。是Google的Chuby的一个开源实现。是Hadoop和Hbase的重要组件。主要用于解决分布式集群中应用系统的一致性问题。
2.提供了基于类似Unix系统的目录节点树方式的数据存储。
3.可用于维护和监控存储的数据的状态的变化,通过监控这些教据状态的变化,从而达到基于数据的集群管理
4.提供了一组原语(机器指令),提供了java和c语言的接口

zookeeper的特点

1.也是一个分布式集群,一个领导者(leader),多个跟随者(follower).
2.集群中要有半数以上的节点存活,Zookeeper集群就能正常服务。
3.全局数据一致性:每个server保存一份相同的数据副本,client无论连接到哪个server ,数据都是一致的。
4.更新请求按顺序进行:来自同一个client的更新请求按其发送顺序依次执行
5.数据更新的原子性:一次数据的更新要么成功,要么失败
6.数据的实时性:在一定时间范围内,client能读到最新数据。

在这里插入图片描述

zookeeper的数据模型

Zookeeper的数据模型采用的与Unik文件系统类似的层次化的树形结构。我们可以将其理解为一个具有高可用特征的文件系统。这个文件系统中没有文件和目录,而是统一使用"节点"(node)的概念,称之为znode 。znode既可以作为保存数据的容器(如同文件)也可以作为保存其他znode的容器(如同目录)。所有的znode构成了一个层次化的命名空间。

在这里插入图片描述

- Zookeeper被设计用来实现协调服务(这类服务通常使用小数据文件),而不是用于大容量数据存储,
- 因此一个znode能存储的数据被限制在1MB以内.
- 每个znode都可以通过其路径唯一标识。

zookeeper的应用场景

1.统一配置管理
2.统一集群管理
3.服务器节点动态上下线感知
4.软负载均衡等
5.分布式锁
6.分布式队列

Zookeeper安装

[root@tianqinglong01 softwares]# tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local
[root@tianqinglong01 softwares]# cd /usr/local
[root@tianqinglong01 local]# mv zookeeper-3.4.10/ zookeeper
[root@tianqinglong01 local]# vim /etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
:wq

[root@tianqinglong01 local]# source /etc/profile
[root@tianqinglong01 local]# cd /zookeeper
[root@tianqinglong01 zookeeper]# cd conf
[root@tianqinglong01 conf]# cp zoo_sample.cfg zoo.cfg
[root@tianqinglong01 conf]# vim zoo.cfg
dataDir=/usr/local/zookeeper/zkData  #修改zookeeper的存储路径,zkData目录一会要创建出来
clientPort=2181   	#客户端连接服务器的port
server.1=tianqinglong01:2888:3888
server.3=tianqinglong02:2888:3888
server.3=tianqinglong03:2888:3888
:wq
[root@tianqinglong01 conf]# cd ..
[root@tianqinglong01 zookeeper]# mkdir zkData
[root@tianqinglong01 zookeeper]# cd zkData
[root@tianqinglong01 zkData]# echo 1 >> myid
[root@tianqinglong01 zkData]# cd ../..
[root@tianqinglong01 local]# scp -r zookeeper/ root@tianqinglong02:$PWD
[root@tianqinglong01 local]# scp -r zookeeper/ root@tianqinglong03:$PWD
[root@tianqinglong01 local]# scp /etc/profile tianqinglong02:/etc/
[root@tianqinglong01 local]# scp /etc/profile tianqinglong03:/etc/

[root@tianqinglong02 ~]# source /etc/profile 
[root@tianqinglong02 ~]# cd /usr/local/zookeeper/
[root@tianqinglong02 zookeeper]# cd zkData
[root@tianqinglong02 zookeeper]# echo 2 > myid  # > 覆盖

[root@tianqinglong02 ~]# source /etc/profile 
[root@tianqinglong02 ~]# cd /usr/local/zookeeper/
[root@tianqinglong02 zookeeper]# cd zkData
[root@tianqinglong02 zookeeper]# echo 3 > myid  # > 覆盖


[root@tianqinglong01 local]# cd /zookeeper/bin
[root@tianqinglong01 bin]# ./zkServer.sh start  [stop status]

[root@tianqinglong02 local]# cd /zookeeper/bin
[root@tianqinglong02 bin]# ./zkServer.sh start 

[root@tianqinglong03 local]# cd /zookeeper/bin
[root@tianqinglong03 bin]# ./zkServer.sh start 

#启动客户端的操作
[root@tianqinglong01 ~]# zkCli.sh
[root@tianqinglong01 ~]# zkCli.sh -server tianqinglong01:2181

zookeeper的shell操作

在这里插入图片描述

注意

create -e /test2 “test2”

quit

./zkCli.sh

ls /

发现没有test2了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值