`
agapple
  • 浏览: 1598165 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

zookeeper学习&使用系列文章

阅读更多

近段时间,因项目需要接触了下zookeeper,通过阅读源码以及项目中的使用总结,慢慢的积累了zookeeper的一系列的学习总结。

希望对大家使用zookeeper有所帮助,同时如有描述欠佳的地方尽情拍砖。

zookeeper是什么?

 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。

 

 目前zookeeper被应用于hadoop/hbase中进行节点的管理,通过zookeeper你可以很方便的开发出一些分布式控制的工具,比如分布式lock, barrier,countDown , Semaphore等,甚至有人使用zookeeper开发了一个分布式Collections。 

 

我项目中使用的情况:

主要是用于解决数据库的数据同步, 通过过程的E.T.L工作节点均使用集群化处理,整个集群的调度通过zookeeper进行管理,比如同步流程的启动,关闭,挂起等,有点带流式计算的味道。

几个技术点:

 1. 分布式lock, 解决Load时为保证源库的事务变更顺序,需要做一个串行录入

 2. 优先集群, 利用zookeeper的observer解决中美机房网络延迟的影响。美国部署observer,中国部署leader/follower

 3. zookeeper watcher,ETL节点的流转通过node的watcher进行通知

 

 

文章列表:

 

分享到:
评论
4 楼 agapple 2011-12-15  
fengsage 写道
agapple 写道
fengsage 写道
目前正在研究阿里的DUBBO。打算用zookeeper作为注册中心。
配置了zookeeper集群。但是我发现,集群环境中如果只有2台服务器做集群的时候。一旦一台服务器关闭。另外一台服务器也会相应堵塞住。导致我在正常的服务器上也无法进行注册。

注册
指的是在zookeeper上建立自己的node.


这个是zookeeper的选举算法限制的,默认zookeeper需要一个奇数的节点,必须有n/2+1节点存活时才可以正常工作

那能否。只有2台集群的时候。一旦一台服务器挂掉。另外一台不做vote了。直接单例运行。


做不到,不过可以有一个偏门,如果你认为哪台机器最不可能挂,就让它的权重比另一台机器大一点,只剩它这台机器时就可以超过1/2了
3 楼 fengsage 2011-12-15  
agapple 写道
fengsage 写道
目前正在研究阿里的DUBBO。打算用zookeeper作为注册中心。
配置了zookeeper集群。但是我发现,集群环境中如果只有2台服务器做集群的时候。一旦一台服务器关闭。另外一台服务器也会相应堵塞住。导致我在正常的服务器上也无法进行注册。

注册
指的是在zookeeper上建立自己的node.


这个是zookeeper的选举算法限制的,默认zookeeper需要一个奇数的节点,必须有n/2+1节点存活时才可以正常工作

那能否。只有2台集群的时候。一旦一台服务器挂掉。另外一台不做vote了。直接单例运行。
2 楼 agapple 2011-12-15  
fengsage 写道
目前正在研究阿里的DUBBO。打算用zookeeper作为注册中心。
配置了zookeeper集群。但是我发现,集群环境中如果只有2台服务器做集群的时候。一旦一台服务器关闭。另外一台服务器也会相应堵塞住。导致我在正常的服务器上也无法进行注册。

注册
指的是在zookeeper上建立自己的node.


这个是zookeeper的选举算法限制的,默认zookeeper需要一个奇数的节点,必须有n/2+1节点存活时才可以正常工作
1 楼 fengsage 2011-12-15  
目前正在研究阿里的DUBBO。打算用zookeeper作为注册中心。
配置了zookeeper集群。但是我发现,集群环境中如果只有2台服务器做集群的时候。一旦一台服务器关闭。另外一台服务器也会相应堵塞住。导致我在正常的服务器上也无法进行注册。

注册
指的是在zookeeper上建立自己的node.

相关推荐

    zookeeper 自己学习资料

    总的来说,这些学习资料提供了从基础到实践的全面理解Zookeeper的途径,对于学习者来说,可以先从文档中了解Zookeeper的基本概念和原理,然后通过阅读网页文章深入理解其在实际项目中的应用,最后结合附件中的示例...

    ZooKeeper 客户端的使用(一)

    本篇文章将重点探讨 ZooKeeper 的客户端使用,帮助开发者更好地理解和应用这一强大的工具。 ### 1. ZooKeeper 的基本概念 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建并贡献给了 Apache 基金会。它提供了一...

    zookeeper学习之三(Curator客户端)

    Curator客户端是Apache Curator框架的一部分,该框架为开发人员提供了一系列高级API和工具,用于处理常见的ZooKeeper用例,降低了使用ZooKeeper的复杂性。以下是对Curator客户端及其主要特性的详细阐述: 1. **连接...

    ZooKeeper配置和简单使用.pptx

    ### ZooKeeper配置与简单...通过本篇文章的介绍,我们不仅了解了ZooKeeper的基本功能和架构,还学习了如何在单机模式和伪集群模式下进行配置和使用。希望这些知识点能够帮助大家更好地理解和掌握ZooKeeper的相关知识。

    zookeeper c语言 example

    本篇文章将深入讲解ZooKeeper的C语言接口使用,通过实例代码来阐述其核心概念和功能。 在分布式系统中,ZooKeeper作为一个中心化的服务,提供了诸如命名服务、配置管理、集群同步、选举机制等多种功能。它采用层次...

    深入探索Zookeeper:从客户端使用到集群特性的全面指南

    文章中提到了Zookeeper集群的不停机动态扩容和缩容,这是保证服务高可用的关键。在不中断服务的情况下,可以通过增加或减少服务器来调整集群规模,以应对负载变化。这通常涉及到配置调整、数据迁移等复杂操作,需要...

    分布式设计与开发(一)------zookeeper实现实例

    在这个系列的第一部分,我们将重点关注Zookeeper——一个广泛使用的分布式协调服务。Zookeeper由Apache软件基金会开发,旨在解决分布式环境中的数据管理、服务发现、配置管理等问题。 Zookeeper的核心概念包括节点...

    zookeeper.zip

    1. Zookeeper节点(Znode):Zookeeper的数据存储结构类似于文件系统,由一系列节点(Znode)组成,每个Znode都可以存储数据并有子节点。节点分为临时节点和永久节点,临时节点在创建它的客户端会话结束时自动删除,...

    Dubbo+Zookeeper+SpringMVC整合实现分布式服务治理框架(附件含源码)

    本篇文章将详细讲解如何通过Dubbo、Zookeeper和SpringMVC这三个组件整合来构建一个高效的分布式服务治理框架,并提供相关的源码供参考。 首先,让我们了解这三大组件的核心功能: 1. **Dubbo**:Dubbo是阿里巴巴...

    大数据学习环境搭建系列(一)大数据集群平台介绍.docx

    本篇将介绍大数据集群平台的基本知识,为后续的系列文章奠定基础。 首先,我们要了解大数据集群平台的基本构成。在搭建过程中,通常会用到虚拟机技术,如Vmware,通过虚拟机在个人计算机上模拟多台服务器环境。在这...

    springboot+dubbo+zk框架搭建学习.zip

    本篇文章将详细介绍这三个技术的结合使用,以及如何进行框架搭建的学习。 首先,让我们从Spring Boot开始。Spring Boot是由Pivotal团队提供的一个开源框架,用于简化Spring应用的初始搭建以及开发过程。它通过提供...

    大数据学习环境搭建系列(一)大数据集群平台介绍.pdf

    本系列文章将重点介绍如何构建这样的环境,以帮助学习者掌握相关技能。首先,我们要了解大数据集群的基本构成和所需知识。 1. **虚拟机与Linux操作系统**: 在搭建大数据集群时,通常会在虚拟机上运行Linux操作...

    Hadoop安装学习-入门教程

    Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, ...

    分布式基础学习(全部)

    学习Hadoop,可以通过源码分析、社区文章和专门的Hadoop中文站点获取资源。有博主详细解析了HDFS和MapReduce的源码,为学习者提供了深入理解的途径。 分布式文件系统是整个分布式系统的基础,它既要提供标准文件...

    PyPI 官网下载 | pysenal-0.0.7.tar.gz

    通过深入学习和使用这个库,我们可以提高在复杂IT环境下的开发效率和系统稳定性。同时,由于其对云原生的适应性,pysenal也适用于那些希望将应用迁移到云环境或构建云原生服务的团队。然而,具体的使用方法和功能...

    PyPI 官网下载 | fishbowl-0.1.0.tar.gz

    在本篇文章中,我们将探讨一个名为"fishbowl"的Python库,其最新版本为0.1.0,可以从PyPI官网下载的压缩包文件fishbowl-0.1.0.tar.gz。 首先,让我们深入了解"fishbowl"这个库。在Python世界里,库是程序员们用来...

    paxos-simple-Copy.pdf

    Zookeeper通过使用Zab协议(Zookeeper Atomic Broadcast)来提供这样的服务,这是在Paxos算法基础上进一步简化和优化后的版本。 最后,文档提到了实现状态机的完整Paxos算法,这涉及到将一致性算法直接应用到分布式...

    PyPI 官网下载 | labml-nn-0.4.98.tar.gz

    标签中的"zookeeper"是一个广泛使用的分布式协调服务,它在大型分布式系统中负责维护配置信息、命名服务、集群同步和分区等任务。如果"labml-nn"与ZooKeeper整合,那么它可能提供了在分布式环境下共享模型参数、监控...

    PyPI 官网下载 | edc-model-wrapper-0.1.12.macosx-10.13-x86_64.tar.gz

    这个库通常是为了简化模型的封装和使用,它可能包含了一系列的工具和方法,用于将机器学习或深度学习模型集成到实际应用中。在数据科学和人工智能领域,这样的库对于快速部署和管理预训练模型至关重要。然而,具体的...

    PyPI 官网下载 | h2o_pysparkling_2.3-2.3.26.tar.gz

    本篇文章将深入探讨PyPI(Python Package Index)官网下载的`h2o_pysparkling_2.3-2.3.26.tar.gz`资源,以及它如何在Zookeeper、分布式计算和云原生环境中发挥作用。 首先,`h2o_pysparkling`是H2O.ai公司开发的一...

Global site tag (gtag.js) - Google Analytics