Linux部署Zookeeper环境(单机版)

  • Post author:
  • Post category:linux


Zookeeper是什么

zookeeper是一个分布式服务框架,主要用于解决数据管理问题,例如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

zookeeper=文件系统+监听通知机制。

文件系统

Zookeeper维护一个类似文件系统的数据结构。每个子目录都例如NameService,都被称为znode(目录节点)、和文件系统一样,可以自由的增加、删除节点znode,在一个znode下增加、删除子znode,唯一不同的在于znode是可以存储数据的。

文件系统有如下几种类型:

  1. PERSISTENT-持久化目录节点:客户端与zookeeper断开连接后,该节点依旧存在

  2. PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点:客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号

  3. EPHEMERAL-临时目录节点:客户端与Zookeeper断开连接后,该节点被删除

  4. EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点:客户端与Zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

监听通知机制

客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变,被删除,子目录节点增加删除)时,Zookeeper会通知客户端。

Zookeeper单机版安装(linux)


kafka和zookeeper(linux)安装包

进入指定目录,这里新建了一个`zookeeper`为文件夹,解压文件

tar -zxvf zookeeper-3.4.10.tar.gz,重命名文件夹名称为:mv apache-zookeeper-3.5.9 zookeeper_3.5.9

进入目录下的conf目录,修改默认的配置文件,将默认的zoo-simple.cfg改名为zoo.cfg

mv zoo-simple.cfg zoo.cfg

在zoo.cfg文件中修改zookeeper数据存放位置,这里在/zookeeper/data/zookeeper

dataDir=/var/data/zookeeper

添加日志文件目录信息

dataLogDir=/var/data/zookeeper

在文件最后的位置添加节点的信息  (配置集群才需要)

node-131:代表zookeeper的主机名

12888端口:代表访问Zookeeper的端口

13888端口:代表重新选举leader的端口

server.1=node-131:12888:13888

server.2=node-132:12888:13888

server.3=node-133:12888:13888

配置环境变量

# export ZOOKEEPER_INSTALL=/home/cpgh/zookeeper/zookeeper_3.5.9/

# export PATH=$PATH:$ZOOKEEPER_INSTALL/bin

启动zookeeper,进入bin目录,并启动zookeeper

启动zookeeper:./zkServer.sh start

后台启动命令:nohup ./zkServer.sh start >> /logs/zookeeper.file 2>&1 &

还要启动zookeeper的客户端:./zkCli.sh

如果是连接多个不同的主机节点,可以使用如下命令:

./zkCli.sh -server 192.168.180.132:2888



版权声明:本文为weixin_42009068原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。