SpringCloud----zookeeper介绍与安装

x33g5p2x  于2021-10-10 转载在 Spring  
字(1.8k)|赞(0)|评价(0)|浏览(464)

概述

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

工作机制

zookeeper特点

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

数据结构

统一命名服务

Zookeeper可以把多台服务器的ip地址映射到同一个域名上

统一配置管理

统一集群管理

服务器动态上下线

软负载均衡

zookeeper下载

官网

zookeeper 3.5.7版本是较稳定版本

下载 Linux 环境安装的 tar 包

Zookeeper 本地安装

(1)安装 JDK

具体安装教程百度

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

1、java -version

2、which java

3、rpm -qa |grep java

4、echo $PATH 

5、find / -name java

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

这里使用xftp进行传输

(3)解压到指定目录

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

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

(4)修改名称

mv apache-zookeeper-3.5.7 zookeeper-3.5.7

配置文件修改

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

(1)将zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg

mv zoo_sample.cfg zoo.cfg

(2)打开 zoo.cfg 文件,修改 dataDir 路径

这里我选择在与conf同级目录下面新建一个zkData目录,用来替代默认的dataDir路径

采坑实录: 错误: 找不到或无法加载主类 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

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

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

2.查看状态

./zkServer.sh status

3.启动zookeeper客户端

./zkCli.sh

4.退出客户端

quit

5.停止 Zookeeper

./zkServer.sh stop

配置参数解读

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

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

这里指客户端与服务端之间距离多长时间发送一次信号,检验当前连接是否还生效

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

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

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

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

4)dataDir:保存Zookeeper中的数据

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

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

相关文章