资讯专栏INFORMATION COLUMN

zookeeper的安装和使用

alogy / 3242人阅读

摘要:指接收第一个参数运行命令启动停止命令行客户端启动本地客户端启动其他机器的客户端基本命令查看帮助查看目录查看节点数据插入数据节点数据,如更改某节点数据删除数据注册监听数据发生改变会通知目录发现改变也会通知

文章作者:foochane 

原文链接:https://foochane.cn/article/2019062601.html

zookeeper数据存储形式 zookeeper安装  zookeeper命令行客户端的使用
1 zookeeper数据存储形式

zookeeper中对用户的数据采用kv形式存储

key:是以路径的形式表示的,各key之间有父子关系,比如 / 是顶层key

用户建的key只能在/ 下作为子节点,比如建一个key: /aa 这个key可以带value数据

也可以建一个key/bb

也可以建多个key/aa/xx

zookeeper中,对每一个数据key,称作一个znode

2 znode类型

zookeeper中的znode有多种类型:

1、PERSISTENT 持久的:创建者就算跟集群断开联系,该类节点也会持久存在与zk集群中

2、EPHEMERAL 短暂的:创建者一旦跟集群断开联系,zk就会将这个节点删除

3、SEQUENTIAL 带序号的:这类节点,zk会自动拼接上一个序号,而且序号是递增的

组合类型:

PERSISTENT :持久不带序号

EPHEMERAL :短暂不带序号

PERSISTENTSEQUENTIAL :持久且带序号

EPHEMERALSEQUENTIAL :短暂且带序号

3 安装zookeeper

解压安装包 zookeeper-3.4.6.tar.gz

修改conf/zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
# 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/bigdata/data/zkdata
# 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
server.1=Master:2888:3888
server.2=Slave01:2888:3888
server.3=Slave02:2888:3888

对3台节点,都创建目录 /usr/local/bigdata/data/zkdata

对3台节点,在工作目录中生成myid文件,但内容要分别为各自的id1,2,3

Master上:   echo 1 > /usr/local/bigdata/data/zkdata/myid
Slave01上:  echo 2 > /usr/local/bigdata/data/zkdata/myid
Slave02上:  echo 3 > /usr/local/bigdata/data/zkdata/myid
4 启动zookeeper集群

zookeeper没有提供自动批量启动脚本,需要手动一台一台地起zookeeper进程
在每一台节点上,运行命令:

$ bin/zkServer.sh start

启动后,用jps应该能看到一个进程:QuorumPeerMain

查看状态

$ bin/zkServer.sh status
5 编写启动脚本zkmanage.sh

zookeeper没有提供批量脚本,不能像hadoop一样在一台机器上同时启动所有节点,可以自己编写脚本批量启动。

#!/bin/bash
for host in Master Slave01 Slave02
do
echo "${host}:${1}ing....."
ssh $host "source ~/.bashrc;/usr/local/bigdata/zookeeper-3.4.6/bin/zkServer.sh $1"
done

sleep 2

for host in Master Slave01 Slave02
do
ssh $host "source ~/.bashrc;/usr/local/bigdata/zookeeper-3.4.6/bin/zkServer.sh status"
done

$1 :指接收第一个参数

运行命令:

sh zkmanage.sh start #启动
sh zkmanage.sh stop  #停止
6 zookeeper命令行客户端

启动本地客户端:

$ bin/zkCli.sh

启动其他机器的客户端:

$ bin/zkCli.sh -server Master:2181

基本命令:

查看帮助:help

查看目录:ls /

查看节点数据:get /zookeeper

插入数据: create /节点 数据 , 如:create /aa hello

更改某节点数据: set /aa helloworld

删除数据:rmr /aa/bb

注册监听:get /aa watch -->数据发生改变会通知 ; ls /aa watch -->目录发现改变也会通知

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/36046.html

相关文章

  • QConf搭建配置中心

    摘要:今天来跟大家分享的是奇虎开源的配置中心。容错当进程死掉,网络终端,机器重启等异常情况发生时,我们希望能尽可能的提供可靠的配置获取服务。配置更新及时可以秒级同步到所有客户端机器。本身是没有的恭喜你,你已经构建完自己的配置中心了。 今天来跟大家分享的是奇虎360开源的 QConf 配置中心。 为什么我们需要做这么一件事情? 因为遇到了,当业务分布较广,配置分布较广的时候,就会很容易地出现一...

    JiaXinYi 评论0 收藏0
  • 构建springmvc+myabtis+dubbo分布式平台-zookeeper注册中心安装

    摘要:安装注册中心如下修改操作系统的文件中添加到解压安装包在目录下创建以下目录将目录下的文件拷贝一份,命名为为修改配置文件其中,端口号是服务之间通信的端口。 上一篇我们介绍《构建dubbo分布式平台-dubbo简介》,结合dubbo基础简介,今天我们来学习基于zookeeper注册中心的安装。 注册中心 1、建议使用dubbo-2.3.3以上版本的使用zookeeper注册中心客户端 2、...

    hsluoyz 评论0 收藏0
  • 构建springmvc+myabtis+dubbo分布式平台-zookeeper注册中心安装

    摘要:安装注册中心如下修改操作系统的文件中添加到解压安装包在目录下创建以下目录将目录下的文件拷贝一份,命名为为修改配置文件其中,端口号是服务之间通信的端口。 上一篇我们介绍《构建dubbo分布式平台-dubbo简介》,结合dubbo基础简介,今天我们来学习基于zookeeper注册中心的安装。 注册中心 1、建议使用dubbo-2.3.3以上版本的使用zookeeper注册中心客户端 2、...

    fuyi501 评论0 收藏0

发表评论

0条评论

alogy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<