分布式系统详解--框架(Zookeeper-简介和集群搭建)

本文涉及的产品
云原生网关 MSE Higress,422元/月
MSE Nacos 企业版免费试用,1600元额度,限量50份
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 分布式系统详解--框架(Zookeeper-简介和集群搭建)

分布式系统详解--框架(Zookeeper-简介和集群搭建)

一、Zookeeper简介

1.1 Zookeeper是什么?

       Zookeeper是一个集中式服务,用于维护配置信息,命名提供分布式同步和提供组服务。所有这些类型的服务都已分布式应用程序的某种形式使用。每次实施他们都需要做很多工作来修复不可避免的错误和竞争条件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。奇数台。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

1.2 设计目标

       ZooKeeper很简单ZooKeeper允许分布式进程通过共享的层级命名空间相互协调,该命名空间与标准文件系统类似地组织。ZooKeeper可以实现高吞吐量和低延迟数量。

ZooKeeper实现非常重视高性能,高可用性,严格有序的访问。

ZooKeeper被复制。与它协调的分布式进程一样,ZooKeeper本身也可以在称为集合的一组主机上进行复制。

 

1.3 数据模型和分层命名空间

ZooKeeper提供的名称空间非常类似于标准文件系统。名称是由斜杠(/)分隔的路径元素序列。ZooKeeper名称空间中的每个节点都由路径标识。

1.4 znode 节点有四种

普通znode: /name  /name (后者将前者覆盖)。

普通序列化znode: /name   /name  (一旦生成,系统自动序列化 /name.....1  /name.....2)。

临时znode :当session退出或者失效,则该节点失效。

临时序列化znode。

1.5 watcher 事件

事件(节点可以注册事件)删除节点、创建节点、更新节点

二、Zookeeper安装

2.1 下载ZooKeeper,可以到官网直接下载。本文下载   zookeeper-3.4.12.tar.gz

2.2 解压安装ZooKeeper。

tar -zxvf zookeeper-3.4.12.tar.gz

2.3 配置环境变量

vi /ect/profile 添加变量。

 

source /etc/profile  

选择./sbin/中的文件可以Tab出来就可以。

2.4 编辑 ./conf/zoo.cfg

mv ./conf/zoo_sample.cfg ./conf/zoo.cfg    (将前面模版改为zoo.cfg,进入进行修改)

vi ./conf/zoo.cfg

修改并添加下列属性:

tickTime=2000
dataDir=/home/zkdata
clientPort=2181
initLimit=5
syncLimit=2
server.1=MyLinux:2888:3888
server.2=centos01:2888:3888
server.3=centos02:2888:3888

2.5 复制zookeeper 到其他服务器机器上

scp ../zookeeper-3.4.12 centos01:/opt

scp ../zookeeper-3.4.12 centos02:/opt

2.6 修改centos01和centos02两台服务器中的环境变量配置。跟上面一致。

vi /etc/profile

2.7 创建文件目录 mkdir /home/zkdata

2.8 在新创建的文件夹下 /home/zkdata 创建文件myid 因为上面server配置的事情。

vi /home/zkdata/myid

在MyLinux服务器上 仅编写一个1,保存退出

在centos01服务器上 仅编写一个2,保存退出

在centos02服务器上 仅编写一个3,保存退出

2.9 启动

zkServer.sh start

zkServer.sh status 查看各自的状态。

解决状态显示报错:Error contacting service. It is probably not running问题。

(1)查看防火墙,或者直接进行重新关闭:service iptables stop

(2)查看自己的zoo.cfg 文件是否由配置错误

(3)一定要设置的目录中 ,就是上面的项目设置的目录中,/home/zkdata/myid 设置正确 1,2,3。

2.10 连接当前服务zkClin.sh  退出当前服务 quit

 

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
382 0
分布式爬虫框架Scrapy-Redis实战指南
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
211 4
搭建Zookeeper、Kafka集群
本文详细介绍了Zookeeper和Kafka集群的搭建过程,涵盖系统环境配置、IP设置、主机名设定、防火墙与Selinux关闭、JDK安装等基础步骤。随后深入讲解了Zookeeper集群的安装与配置,包括数据目录创建、节点信息设置、SASL认证配置及服务启动管理。接着描述了Kafka集群的安装,涉及配置文件修改、安全认证设置、生产消费认证以及服务启停操作。最后通过创建Topic、发送与查看消息等测试验证集群功能。全网可搜《小陈运维》获取更多信息。
255 1
常见的分布式定时任务调度框架
分布式定时任务调度框架用于在分布式系统中管理和调度定时任务,确保任务按预定时间和频率执行。其核心概念包括Job(任务)、Trigger(触发器)、Executor(执行器)和Scheduler(调度器)。这类框架应具备任务管理、任务监控、良好的可扩展性和高可用性等功能。常用的Java生态中的分布式任务调度框架有Quartz Scheduler、ElasticJob和XXL-JOB。
2344 66
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
253 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
315 8
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
249 2
基于Scrapy-Redis的分布式景点数据爬取与热力图生成
基于Scrapy-Redis的分布式景点数据爬取与热力图生成
213 67
高并发秒杀系统实战(Redis+Lua分布式锁防超卖与库存扣减优化)
秒杀系统面临瞬时高并发、资源竞争和数据一致性挑战。传统方案如数据库锁或应用层锁存在性能瓶颈或分布式问题,而基于Redis的分布式锁与Lua脚本原子操作成为高效解决方案。通过Redis的`SETNX`实现分布式锁,结合Lua脚本完成库存扣减,确保操作原子性并大幅提升性能(QPS从120提升至8,200)。此外,分段库存策略、多级限流及服务降级机制进一步优化系统稳定性。最佳实践包括分层防控、黄金扣减法则与容灾设计,强调根据业务特性灵活组合技术手段以应对高并发场景。
235 7

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问