ZooKeeper集群与部署实验文档

本文详细介绍了Zookeeper的概述、特点、数据结构、选举机制和集群部署步骤。Zookeeper是一个分布式服务管理框架,提供配置管理、命名服务、集群管理和分布式锁等功能。其特点是强一致性、高可用性,数据结构类似文件系统。选举机制确保集群中半数以上节点存活即可正常服务,并在Leader服务器故障时重新选举。部署Zookeeper集群涉及配置文件修改、数据目录创建、myid文件设置以及启动脚本配置等步骤。
摘要由CSDN通过智能技术生成

一、Zookeeper 概述

        ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper 的架构通过冗余服务实现高可用性。

        Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。

        Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。也就是说 Zookeeper = 文件系统 + 通知机制。

二、Zookeeper 特点

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

三、Zookeeper 数据结构和应用场景

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

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

  • 统一命名服务

在分布式环境下,经常需要对应用/服务进行统一命名,便于识别。例如:IP不容易记住,而域名容易记住。

  • 统一配置管理

(1)分布式环境下,配置文件同步非常常见。一般要求一个集群中,所有节点的配置信息是一致的,比如Kafka集群。对配置文件修改后,希望能够快速同步到各个节点上。

(2)配置管理可交由ZooKeeper实现。可将配置信息写入ZooKeeper上的一个Znode。各个客户端服务器监听这个Znode。一旦 Znode中的数据被修改,ZooKeeper将通知各个客户端服务器。

  • 统一集群管理

(1)分布式环境中,实时掌握每个节点的状态是必要的。可根据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值