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

相关推荐
掘金-我是哪吒12 分钟前
分布式微服务系统架构第99集:缓存系统的实战级优化案例
分布式·缓存·微服务·云原生·架构
群联云防护小杜7 小时前
基于AI的Web应用防火墙(AppWall)实战:漏洞拦截与威胁情报集成
前端·分布式·安全·ddos
云之兕9 小时前
分布式ID生成器设计详解
分布式
不懂的浪漫9 小时前
分布式限流器框架 eval-rate-limiter
分布式
Gvemis⁹9 小时前
Spark Core(二)
大数据·分布式·spark
小薛博客10 小时前
架构设计之Redisson分布式锁-可重入同步锁(一)
java·redis·分布式
wgslucky10 小时前
Jmeter分布式测试启动
分布式·jmeter
炒空心菜菜12 小时前
spark数据清洗案例:流量统计
大数据·分布式·spark
mikey棒棒棒14 小时前
使用RabbitMQ实现异步秒杀
java·分布式·rabbitmq·mq
Pitayafruit14 小时前
【📕分布式锁通关指南 09】源码剖析redisson之公平锁的实现
redis·分布式·后端