【分布式技术】中间件-zookeeper安装配置

文章目录

    • 安装部署
      • [1. 安装ZooKeeper](#1. 安装ZooKeeper)
      • [2. 配置ZooKeeper](#2. 配置ZooKeeper)
      • [3. 启动ZooKeeper服务器](#3. 启动ZooKeeper服务器)
      • [4. 使用ZooKeeper命令行客户端](#4. 使用ZooKeeper命令行客户端)
      • [5. 使用ZooKeeper的四个基本操作](#5. 使用ZooKeeper的四个基本操作)
      • [6. ZooKeeper集群模式](#6. ZooKeeper集群模式)
      • [7. 安全和权限](#7. 安全和权限)
      • [8. 监控和日志](#8. 监控和日志)
    • 相关文献

安装部署

在Linux环境中操作ZooKeeper通常涉及以下几个方面:

1. 安装ZooKeeper

在Linux上安装ZooKeeper,你可以从Apache ZooKeeper的官方网站下载二进制包或使用包管理器安装。以下是使用二进制包安装的步骤:

shell 复制代码
# 下载ZooKeeper
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz

# 解压ZooKeeper
tar -xzf apache-zookeeper-3.8.0-bin.tar.gz

# 进入ZooKeeper目录
cd apache-zookeeper-3.8.0-bin

# 创建ZooKeeper的数据目录
mkdir data

2. 配置ZooKeeper

编辑conf/zoo.cfg文件,配置ZooKeeper服务器:

shell 复制代码
tickTime=2000
dataDir=/home/zookeeper/apache-zookeeper-3.8.0-bin/data
clientPort=2181
initLimit=5
syncLimit=2

# 配置集群模式(单机模式不需要配置)
server.1=127.0.0.1:2886:3886
server.2=127.0.0.1:2888:3888

3. 启动ZooKeeper服务器

在ZooKeeper的bin目录下,使用以下命令启动服务器:

shell 复制代码
# 启动ZooKeeper
./zkServer.sh start

# 查看状态
./zkServer.sh status

# 停止ZooKeeper
./zkServer.sh stop

4. 使用ZooKeeper命令行客户端

ZooKeeper提供了一个命令行客户端zkCli.sh,用于与ZooKeeper服务器交互:

shell 复制代码
# 启动ZooKeeper命令行客户端
./zkCli.sh

# 连接到ZooKeeper服务器
[zk: localhost:2181(CONNECTED) 0] connect host:port

# 创建一个节点
create /test data

# 获取节点数据
get /test

# 列出子节点
ls /

# 删除节点
delete /test

# 退出客户端
quit

5. 使用ZooKeeper的四个基本操作

  • 创建节点(Create)

    shell 复制代码
    create /path data
  • 读取节点(Read)

    shell 复制代码
    get /path
  • 更新节点(Update)

    shell 复制代码
    set /path data
  • 删除节点(Delete)

    shell 复制代码
    delete /path

6. ZooKeeper集群模式

如果需要部署ZooKeeper集群,需要在zoo.cfg中配置多个服务器,并在每台服务器上设置唯一的myid文件:

shell 复制代码
echo "1" > data/myid

然后,在所有服务器上启动ZooKeeper。

7. 安全和权限

ZooKeeper支持ACL(访问控制列表),可以通过设置权限来控制对节点的访问:

shell 复制代码
# 设置权限
setAcl /path acl

8. 监控和日志

监控ZooKeeper的性能和查看日志对于维护ZooKeeper集群非常重要。ZooKeeper的日志文件通常位于dataLogDir指定的目录下。

通过这些基本操作,你可以在Linux环境中管理和使用ZooKeeper。对于更高级的使用场景,如分布式锁或领导者选举,你可能需要编写更复杂的客户端程序来实现。

相关文献

【分布式技术】中间件-分布式协调服务zookeeper

相关推荐
人间打气筒(Ada)11 分钟前
「码动四季·开源同行」go语言:如何使用 ELK 进行日志采集以及统一处理?
开发语言·分布式·elk·go·日志收集·分布式日志系统
黑牛儿1 小时前
MySQL 实战进阶:从单表优化到分布式数据库适配
数据库·分布式·mysql
zz0723201 小时前
Apache Kafka 开源的分布式事件流平台
分布式·kafka·apache
一个有温度的技术博主14 小时前
Redis AOF持久化:用“记账”的方式守护数据安全
redis·分布式·缓存
zs宝来了16 小时前
ZooKeeper ZAB 协议:选举与广播原理解析
zookeeper·广播·选举·zab·一致性协议
2402_8813193018 小时前
引入 Redis 分布式锁解决并发脏写 (Dirty Write)-AI模拟面试的构建rag部分
redis·分布式·面试
蒸蒸yyyyzwd20 小时前
检索系统学习笔记
分布式·学习
一个有温度的技术博主1 天前
告别“竹篮打水”:Redis单点瓶颈与分布式缓存架构全解析
redis·分布式·缓存
殷紫川1 天前
吃透 MinIO:从底层架构到全场景文件上传下载实战,一篇搞定企业级对象存储
分布式·后端
橘子编程1 天前
Spark全栈指南:从入门到精通
大数据·分布式·spark