【Zookeeper 初级】01、Zookeeper 入门及安装

目录

一、Zookeeper 入门

1.1 概述

1.1.1 Zookeeper 工作机制

1.2 Zookeeper 特点

1.3 数据结构

1.4 应用场景

1.4.1 统一命名服务

1.4.2 统一配置管理

1.4.3 统一集群管理

1.4.4 服务器动态上下线

1.4.5 软负载均衡

1.5 下载地址

二、Zookeeper 本地安装

2.1 本地单机安装

2.1.1 安装前准备

2.1.2 配置修改

2.1.3 操作 Zookeeper

2.2 配置参数解读


一、Zookeeper 入门

1.1 概述

Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。

1.1.1 Zookeeper 工作机制

1.2 Zookeeper 特点

  1. Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。

  2. 集群中只要有半数以上节点存活,Zookeeper 集群就能正常服务。所以 Zookeeper 适合安装奇数台服务器。

  3. 全局数据一致:每个 Server 保存一份相同的数据副本,Client 无论连接到哪个 Server,数据都是一致的。

  4. 更新请求顺序执行,来自同一个 Client 的更新请求按其发送顺序依次执行。

  5. 数据更新原子性,一次数据更新要么成功,要么失败。

  6. 实时性,在一定时间范围内,Client 能读到最新数据。 

1.3 数据结构

        ZooKeeper 数据模型的结构与 Unix 文件系统很类似,整体上可以看作是一棵树,每个节点称做一个 ZNode。每一个 ZNode 默认能够存储 1MB 的数据,每个 ZNode 都可以通过其路径唯一标识。

1.4 应用场景

        提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

1.4.1 统一命名服务

1.4.2 统一配置管理

1.4.3 统一集群管理

1.4.4 服务器动态上下线

1.4.5 软负载均衡

在 Zookeeper 中记录每台服务器的访问数,让访问数最少的服务器去处理最新的客户端请求。

1.5 下载地址

Zookeeper 官网下载地址:Apache ZooKeeper

二、Zookeeper 本地安装

2.1 本地单机安装

2.1.1 安装前准备

  • (1)安装 JDK:

可以查看我的这篇文章:Linux 部署 JDK+MySQL+Tomcat 详细过程_linux部署mysql tomcat_Stars.Sky的博客-CSDN博客

  • (2)拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下

  • (3)解压到指定目录

[root@hadoop01 ~]# ls
anaconda-ks.cfg  apache-zookeeper-3.7.1-bin.tar.gz
[root@hadoop01 ~]# mkdir -p /opt/module
[root@hadoop01 ~]# tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module/
  • (4) 修改名称
[root@hadoop01 ~]# mv /opt/module/apache-zookeeper-3.7.1-bin/ /opt/module/zookeeper-3.7.1/

2.1.2 配置修改

  • (1)将 /opt/module/zookeeper-3.7.1/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg
[root@hadoop01 ~]# cd /opt/module/zookeeper-3.7.1/conf/
[root@hadoop01 /opt/module/zookeeper-3.7.1/conf]# mv zoo_sample.cfg zoo.cfg 
  • (2)打开 zoo.cfg 文件 ,修改 dataDir 路径
[root@hadoop01 /opt/module/zookeeper-3.7.1/conf]# vim zoo.cfg 
dataDir=/opt/module/zookeeper-3.7.1/zkData
  • (3)在 /opt/module/zookeeper-3.7.1/ 这个 目录上创建 zkData 文件夹
[root@hadoop01 /opt/module/zookeeper-3.7.1]# pwd
/opt/module/zookeeper-3.7.1
[root@hadoop01 /opt/module/zookeeper-3.7.1]# mkdir zkData

2.1.3 操作 Zookeeper

  • (1)启动 Zookeeper
[root@hadoop01 /opt/module/zookeeper-3.7.1]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.7.1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
  • (2)查看进程是否启动
[root@hadoop01 /opt/module/zookeeper-3.7.1]# jps -l
3346 sun.tools.jps.Jps
3310 org.apache.zookeeper.server.quorum.QuorumPeerMain
  • (3)查看状态
[root@hadoop01 /opt/module/zookeeper-3.7.1]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.7.1/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
  • (4)启动客户端
[root@hadoop01 /opt/module/zookeeper-3.7.1]# bin/zkCli.sh 
  • (5)退出客户端
[zk: localhost:2181(CONNECTED) 0] quit
  • (6)停止 Zookeeper
[root@hadoop01 /opt/module/zookeeper-3.7.1]# bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.7.1/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

2.2 配置参数解读

Zookeeper 中的配置文件 zoo.cfg 中参数含义解读如下:

  • 1)tickTime = 2000:通信心跳时间,Zookeeper 服务器与客户端心跳时间,单位毫秒

  • 2)initLimit = 10:LF 初始通信时限 

  • 3)syncLimit = 5:LF同步通信时限 

  • 4)dataDir:保存 Zookeeper 中的数据

注意:默认的 tmp 目录,容易被 Linux 系统定期删除,所以一般不用默认的 tmp 目录。

  • 5)clientPort = 2181:客户端连接端口,通常不做修改。 

下一篇文章:【Zookeeper 初级】02、Zookeeper 集群部署_Stars.Sky的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_46560589/article/details/129527748