Zookeeper安装与使用
一. Zookeeper入门
1.1 概述
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。
1.2 特点
1.3 数据结构
1.4 应用场景
提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。
1.5 下载地址
linux64位Zookeeper安装包已经上传至我的码云。
链接: https://gitee.com/hdyxk/learning-from.
二. 本地模式环境搭建
2.1 基础环境搭建
1. VM搭建centos7: https://blog.youkuaiyun.com/babyxue/article/details/80970526?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160128451719724848323088%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160128451719724848323088&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-80970526.first_rank_ecpm_v3_pc_rank_v2&utm_term=vm%E6%90%AD%E5%BB%BAcentos7&spm=1018.2118.3001.4187.
2. centos7中安装jdk: https://www.cnblogs.com/sxdcgaq8080/p/7492426.html.
2.2 Zookeeper本地模式搭建
博客地址: https://www.cnblogs.com/zwcry/p/10244908.html.
2.3 配置参数解读
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:客户端连接端口,监听客户端连接的端口。
三. Zookeeper内部原理
3.1 选举机制
-
1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。
-
2)