zoukankan      html  css  js  c++  java
  • Zookeeper基本知识

    1 Zookeeper概述

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

    1.1 工作机制

    从设计模式角度来看,zookeeper是一个基于观察者模式设计的分布式服务管理框架。负责存储和管理元数据等信息。它接受观察者的注册,一旦数据发生变化,zookeeper会通知这些观察者,并作出反应。

    1.2 特点
    1. 一个领导者leader,多个跟随着follower组成的集群。(和kafka分区类似)
    2. 集群只要有半数以上的节点存活,zookeeper集群就正常服务
    3. 全局数据一致,每个server保存一份相同的数据副本
    4. 数据更新原子性
    5. 实时性,客户端能读取最新数据
    6. 来自一个客户端的请求顺序执行
    1.3 数据结构

    整体上可以看作一棵树,每个节点称作znode,每一个znode可以存储1MB的数据,通过路径可以唯一标识。

    2 应用场景

    2.1 统一命名服务

    对分布式系统的服务器统一命名,便以识别。

    2.2 统一配置管理

    对配置文件统一管理,每个节点的配置文件修改为一致,比如kafka集群。

    2.3 服务器节点动态上下线

    客户端实时观察服务器上下线的变化。

    2.4 软负载均衡

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

    3 本地安装

    本地安装用于测试。安装zookeeper前,需要先安装jdk。

    • 将zookeeper安装包拷贝到相应目录
    • 解压安装包
    • 修改配置文件zoo.cfg,设置存储数据目录
    bin/zkServer.sh start//启动zookeeper
    bin/zkServer.sh status//查看zookeeper状态
    bin/zkCli.sh//启动客户端
    bin/zkServer.sh stop//关闭zookeeper
    
    3.1 配置参数
    1. tickTime=2000,服务器之间或客户端与服务器之间维持心跳的时间间隔,每过2000毫秒发送一个心跳
    2. initLimit=10,初始通信实现,领导者和跟随者初始连接时能容忍的心跳数
    3. syncLimit=5,同步通信时限,响应时间超过,则领导者认为跟随着死亡,从服务器列表删除follower
    4. dataDir,保存数据的目录
    5. clientPort=2181,客户端连接端口
  • 相关阅读:
    织梦首页/列表页/内容页直接获取软件模型本地下载地址
    织梦手机站关闭自动生成首页index.html
    织梦手机站搜索结果显示为电脑站的搜索结果模板的解决方法
    织梦生成栏目列表后,前台访问空白,0kb文件
    1006. 求和游戏
    1003. 二哥养细菌
    MySQL/mariadb知识点——安装篇(3)编译安装
    MySQL/mariadb知识点——安装篇(2)二进制安装
    MySQL/mariadb知识点——安装篇(1)yum安装
    Ansible—角色
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12600321.html
Copyright © 2011-2022 走看看