SpringCloud----zookeeper介绍与安装

zookeeper

  • 概述
  • 工作机制
  • zookeeper特点
  • 数据结构
  • 统一命名服务
  • 统一配置管理
  • 统一集群管理
  • 服务器动态上下线
  • 软负载均衡
  • zookeeper下载
    • 下载 Linux 环境安装的 tar 包
  • Zookeeper 本地安装
    • (1)安装 JDK
    • (2)拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下
    • (3)解压到指定目录
    • (4)修改名称
    • 配置文件修改
      • 采坑实录: 错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
      • zookeeper 启动时一直报 Starting zookeeper ... FAILED TO START
    • 操作 Zookeeper
      • 1.启动 Zookeeper服务端
      • 2.查看状态
      • 3.启动zookeeper客户端
      • 4.退出客户端
      • 5.停止 Zookeeper
  • 配置参数解读
    • 1)tickTime = 2000:通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒
    • 2)initLimit = 10:LF初始通信时限
    • 3)syncLimit = 5:LF同步通信时限
    • 4)dataDir:保存Zookeeper中的数据
    • 5)clientPort = 2181:客户端连接端口,通常不做修改。

SpringCloud----zookeeper介绍与安装_第1张图片


概述

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

SpringCloud----zookeeper介绍与安装_第2张图片


工作机制

SpringCloud----zookeeper介绍与安装_第3张图片


zookeeper特点

SpringCloud----zookeeper介绍与安装_第4张图片

  • Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。
  • 集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器
  • 全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的
  • 更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。
  • 数据更新原子性,一次数据更新要么成功,要么失败。
  • 实时性,在一定时间范围内,Client能读到最新数据

数据结构

SpringCloud----zookeeper介绍与安装_第5张图片


统一命名服务

SpringCloud----zookeeper介绍与安装_第6张图片
Zookeeper可以把多台服务器的ip地址映射到同一个域名上


统一配置管理

SpringCloud----zookeeper介绍与安装_第7张图片


统一集群管理

SpringCloud----zookeeper介绍与安装_第8张图片


服务器动态上下线

SpringCloud----zookeeper介绍与安装_第9张图片


软负载均衡

SpringCloud----zookeeper介绍与安装_第10张图片


zookeeper下载

官网

SpringCloud----zookeeper介绍与安装_第11张图片
SpringCloud----zookeeper介绍与安装_第12张图片
zookeeper 3.5.7版本是较稳定版本


下载 Linux 环境安装的 tar 包

SpringCloud----zookeeper介绍与安装_第13张图片


Zookeeper 本地安装

(1)安装 JDK

具体安装教程百度

大家可通过下面五条命令来查看linux 系统是否安装了java 环境

1、java -version

2、which java

3、rpm -qa |grep java

4、echo $PATH 

5、find / -name java

SpringCloud----zookeeper介绍与安装_第14张图片


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

这里使用xftp进行传输
SpringCloud----zookeeper介绍与安装_第15张图片


(3)解压到指定目录

我这里解压到了/opt目录下面的zookeeper文件夹中

SpringCloud----zookeeper介绍与安装_第16张图片

解压指令:
tar -zxvf xxx.tar.gz  -C 解压到的目录的路径 (否则会在当前路径下解压)

(4)修改名称

 mv apache-zookeeper-3.5.7 zookeeper-3.5.7

SpringCloud----zookeeper介绍与安装_第17张图片


配置文件修改

首先来到zookeeper解压后文件底下的conf目录

SpringCloud----zookeeper介绍与安装_第18张图片
(1)将zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg

mv zoo_sample.cfg zoo.cfg

SpringCloud----zookeeper介绍与安装_第19张图片
(2)打开 zoo.cfg 文件,修改 dataDir 路径

SpringCloud----zookeeper介绍与安装_第20张图片
这里我选择在与conf同级目录下面新建一个zkData目录,用来替代默认的dataDir路径
SpringCloud----zookeeper介绍与安装_第21张图片
SpringCloud----zookeeper介绍与安装_第22张图片


采坑实录: 错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain

zookeeper 启动时一直报 Starting zookeeper … FAILED TO START

./zkServer.sh start-foreground
这样启动就知道错误原因了

错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain

zookeeper 启动时一直报 Starting zookeeper … FAILED TO START


操作 Zookeeper

1.启动 Zookeeper服务端

先启动Zookeeper服务端,再启动Zookeeper客户端进行访问

来到bin目录下,执行命令:

./zkServer.sh start

SpringCloud----zookeeper介绍与安装_第23张图片

查看进程是否启动,jps是java jdk里面的命令,一个查看当前java进程的小工具,

[atguigu@hadoop102 zookeeper-3.5.7]# jps
4020 Jps
4001 QuorumPeerMain

2.查看状态

./zkServer.sh status

SpringCloud----zookeeper介绍与安装_第24张图片

3.启动zookeeper客户端

./zkCli.sh

SpringCloud----zookeeper介绍与安装_第25张图片
SpringCloud----zookeeper介绍与安装_第26张图片

4.退出客户端

quit

5.停止 Zookeeper

./zkServer.sh stop

SpringCloud----zookeeper介绍与安装_第27张图片


配置参数解读

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

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

SpringCloud----zookeeper介绍与安装_第28张图片
这里指客户端与服务端之间距离多长时间发送一次信号,检验当前连接是否还生效

当然服务端与服务端之间也可以发送信号,检验彼此存活状态


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

这里的10指的是10此心跳,而每次心跳默认是2秒钟,因此这里如果20秒内还没连接成功,那么这次连接默认失败

SpringCloud----zookeeper介绍与安装_第29张图片


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

SpringCloud----zookeeper介绍与安装_第30张图片


4)dataDir:保存Zookeeper中的数据

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


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


你可能感兴趣的:(#,SpringCloud,zookeeper,java)