zookeeper安装部署

Zookeeper安装

本地模式 安装部署 (仅仅用于测试,方便了解ZK,可直接安装集群模式)

1.安装前准备

(1)安装Jdk

(2)拷贝Zookeeper安装包到Linux系统下

(3)解压到指定目录

cmdikxj@cmdikxj01 software\]$ tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/module/ (包所存在位置,以及解压后的安装位置可自己根据云服务器的资源进行配置) 2.配置修改 (1)将/opt/module/zookeeper-3.5.7/conf这个路径下的zoo_sample.cfg修改为zoo.cfg; \[cmdikxj@cmdikxj01 conf\]$ mv zoo_sample.cfg zoo.cfg (2)打开zoo.cfg文件,修改dataDir路径: \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ vim zoo.cfg 修改如下内容: dataDir=/data/module/apache-zookeeper/zkData (3)在/opt/module/zookeeper-3.5.7/这个目录上创建zkData文件夹 \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ mkdir zkData 操作Zookeeper (1)启动Zookeeper \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ bin/zkServer.sh start (2)查看进程是否启动 \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ jps 4020 Jps 4001 QuorumPeerMain (3)查看状态: \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg Mode: standalone (4)启动客户端: \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ bin/zkCli.sh (5)退出客户端: \[zk: localhost:2181(CONNECTED) 0\] quit (6)停止Zookeeper \[cmdikxj@hadoop102 cmdikxj01 \]$ bin/zkServer.sh stop ### **配置参数** **解读** Zookeeper中的配置文件zoo.cfg中参数含义解读如下: 1.tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒 Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。 它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2\*tickTime) 2.initLimit =10:LF初始通信时限 集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。 3.syncLimit =5:LF同步通信时限 集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit \* tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。 4.dataDir:数据文件目录+数据持久化路径 主要用于保存Zookeeper中的数据。 5.clientPort =2181:客户端连接端口 监听客户端连接的端口。 ### **集群** **安装部署** 1.集群规划 在cmdikxj01、cmdikxj02和cmdikxj03三个节点上部署Zookeeper。三台服务器的hosts彼此要配置上,实现可以通过hostname互认。 2.解压安装 (1)解压Zookeeper安装包到/opt/module/目录下 \[cmdikxj@cmdikxj01 software\]$ tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/module/ (2)同步/opt/module/zookeeper-3.5.7目录内容到cmdikxj02、cmdikxj03 或者按步骤一将文件解压 \[cmdikxj@cmdikxj01 module\]$ scp -r zookeeper-3.5.7 cmdikxj02:/opt/module/ \[cmdikxj@cmdikxj01 module\]$ scp -r zookeeper-3.5.7 cmdikxj03:/opt/module/ 3.配置服务器编号 (1)在/opt/module/zookeeper-3.5.7/这个目录下创建zkData \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ mkdir -p zkData (2)在/opt/module/zookeeper-3.5.7/zkData目录下创建一个myid的文件 \[cmdikxj@cmdikxj01 zkData\]$ touch myid (3)编辑myid文件 \[cmdikxj@cmdikxj01 zkData\]$ vi myid 在文件中添加与server对应的编号: 2 (4)拷贝配置好的zookeeper到其他机器上 \[cmdikxj@cmdikxj01 zkData\]$ scp -r myid cmdikxj02:/opt/module/zookeeper-3.5.7/zkData/myid \[cmdikxj@cmdikxj01 zkData\]$ scp -r myid cmdikxj03:/opt/module/zookeeper-3.5.7/zkData/myid 并分别在cmdikxj02、cmdikxj03上修改myid文件中内容为3、4 4.配置zoo.cfg文件 (1)重命名/opt/module/zookeeper-3.5.7/conf这个目录下的zoo_sample.cfg为zoo.cfg \[cmdikxj@cmdikxj01 conf\]$ mv zoo_sample.cfg zoo.cfg (2)打开zoo.cfg文件 \[cmdikxj@cmdikxj01 conf\]$ vim zoo.cfg 修改数据存储路径配置 dataDir=/opt/module/zookeeper-3.5.7/zkData 增加如下配置 #######################cluster########################## server.2=cmdikxj01:2888:3888 server.3=cmdikxj02:2888:3888 server.4=cmdikxj03:2888:3888 (3)同步zoo.cfg配置文件 \[cmdikxj@cmdikxj01 conf\]$ xsync zoo.cfg (4)配置参数解读 server.A=B:C:D。 **A**是一个数字,表示这个是第几号服务器; 集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。 **B**是这个服务器的地址; **C**是这个服务器Follower与集群中的Leader服务器交换信息的端口; **D**是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。 4.集群操作 (1)分别启动Zookeeper \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]$ bin/zkServer.sh start \[cmdikxj@cmdikxj02 zookeeper-3.5.7\]$ bin/zkServer.sh start \[cmdikxj@cmdikxj03 zookeeper-3.5.7\]$ bin/zkServer.sh start (2)查看状态 \[cmdikxj@cmdikxj01 zookeeper-3.5.7\]# bin/zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg Mode: follower \[cmdikxj@cmdikxj02 zookeeper-3.5.7\]# bin/zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg Mode: leader \[cmdikxj@cmdikxj03 zookeeper-3.4.5\]# bin/zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg Mode: follower

相关推荐
程序猿阿伟18 小时前
《分布式追踪Span-业务标识融合:端到端业务可观测手册》
分布式
yumgpkpm19 小时前
预测:2026年大数据软件+AI大模型的发展趋势
大数据·人工智能·算法·zookeeper·kafka·开源·cloudera
消失的旧时光-194320 小时前
第十六课实战:分布式锁与限流设计 —— 从原理到可跑 Demo
redis·分布式·缓存
若水不如远方20 小时前
分布式一致性(三):共识的黎明——Quorum 机制与 Basic Paxos
分布式·后端·算法
岁岁种桃花儿21 小时前
注册中心宕机后,RPC调用还能成功吗?主流框架实测级分析
zookeeper·eureka·rpc
会算数的⑨21 小时前
Kafka知识点问题驱动式的回顾与复习——(一)
分布式·后端·中间件·kafka
张小凡vip21 小时前
Kafka--使用 Kafka Connect 导入/导出数据
分布式·kafka
回忆是昨天里的海21 小时前
kafka概述
分布式·kafka
知识即是力量ol21 小时前
初识 Kafka(一):分布式流平台的定义、核心优势与架构全景
java·分布式·kafka·消息队列
nbsaas-boot21 小时前
Pipeline + Saga 分布式扩展规范
分布式