Zookeeper 初步认识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41098980/article/details/79965336

使用zk有一年了,主要图用途就是配置管理信息的读写,关于zk老早就想写一篇博客了,由于各种原因吧,今天就把zk的小例子补上。

一、什么是Zookeeper

zookeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技术维护共享数据,zookeeper本身是一个分布式应用程序,为写入分布式应用程序提供服务。
zookeeper提供的常见服务如下:

  • 命名服务:按名称标识集群中的节点,它类似于DNS,但仅对于节点
  • 配置管理:加入节点的最近和最新的系统配置信息
  • 集群管理:实时地在集群和节点状态中加入/离开节点
  • 选举算法:选取一个节点作为协调目的的leader
  • 锁定和同步服务:在修改数据的同时锁定数据
  • 高度可靠的数据注册:即使在一个或几个节点关闭时也可以获得数据

二、Linux安装Zookeeper

1.新建zookeeper文件夹作为zk的安装目录
mkdir zookeeper
2.下载zk安装包
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
3.解压安装包
tar -zxf zookeeper-3.3.6.tar.gz
4.新建data文件夹,存放zk数据
mkdir data
5.修改zoo.cfg主要配置端口,数据目录
vi zoo.cfg
配置
6.启动zk Server
./zkServer.sh start
7.启动客户端
./zkCli.sh

三、java 连接zk,并新建节点,修改数据

1.pom引用zkclient
pom
2.新建测试类
测试
可能还有一些异常情况没有判断,但是简单的使用就是这样
3.新建监听,当数据变化时收到提示
监听
当数据发生变化时,监听就会收到相应的通知

四、zk集群搭建

集群配置
需要在zoo.cfg中添加server的配置。配置方式为:server.id=host:port1:port2
id 被称为 Server ID,用来标识该机器在集群中的机器序号(在每台机器的 dataDir 目录下创建 myid 文件,文件内容即为该机器对应的 Server ID 数字)。host 为机器 IP,port1 用于指定 Follower 服务器与 Leader 服务器进行通信和数据同步的端口,port2 用于进行 Leader 选举过程中的投票通信。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页