`

zookeeper学习笔记-zookpeeper集群

阅读更多
Zookeeper集群
1.是一种对等集群,所有节点(机器)数据都一致
2. 集群节点之间靠心跳感知彼此的存在
3. 所有写操作都在主节点上,其他节点只能读,虽然可以接收写请求,但是内部会把写操作转给主节点
4. 通过选举机制选出主节点,从而保障了主节点的高可用
5.至少3个节点,必须是基数个节点,这个和zk的选举算法有关系的,以后介绍
6. 当一半以上的节点数据写入成功后,则返回写入成功,是最终一致性策略
Zookeeper集群





分布式系统理论之CAP定义
1. 一个分布式系统不可能同时时满足一致性(Consistency),可用性(Availability)和分区容忍性(Partition tolerance)这些基本需求,只能满足其中的两项
CAP解读
1.一致性:分布式环境下,一致性主要是指数据在多个副本间是否保持一致
2.可用性:是指系统提供的服务必须是一直处于可用的状态,对于用户的请求总是能够在有限的时间内返回结果,有限
时间强调的是用户能接受的时间
– 可用性和常说的高可用性的可用性不是一个概念,即如果服务访问不到,不属于没有可用性
– P:集群出现网络割裂(即脑裂)时,集群还能继续提供一定的可用性和一致性,除非整个网络不可用
– 只能满足其中的两项不是另外一项就完全没有,而是要求没有那么严格
3. 分区容忍是分布式系统必须有的特性,因为网络不可靠,所以只能在C和A中进行平衡


分布式系统理论之BASE理论
BASE是Basically Available(基本可用), Soft state(软状态)和Eventually Consistent最终一致性)几个短语的简写,它是对CAP中的一致性和可用性权衡的结果
– BASE的核心思想是即使无法做到强一致性,但是每个应用可以根据自身的业务特点,采用适当的方式
达到最终一致性,同时获取到系统可用性
1.BASE之基本可用
– 响应时间上的损失:有些要求1s内返回,有些要求5s内返回
– 功能上的损失:对于电商来说,某些区域可能不能购买某些商品,又或者大促时,部分消费者被引流
到降级的页面
2.BASE之弱状态
– 也称为软状态,是指允许系统中的数据存在中间状态,并认为该状态不会影响系统的整体可用性,即
允许系统在不同节点的数据副本之间存在一定的延时
– 举例:双11的时候,我在京东购买东西,明明已经付款成功,但是系统提示的还是未付款
3. BASE之最终一致性
– 系统中的数据副本在经过一段时间同步后,最终能够达到一个一致的状态

集群搭建
把安装的zk复制成3份分别改写zoo.cfg文件如图





在每个dataDir=/tmp/zookeeper1目录下创建文件mypid,分别写入1,2,3到zookeeper1,zookeeper2,zookeeper3
配置完成,启动三个zk如图




修改任何一个节点都会同步其他节点,简单的同步完成

java客户端代码如下
 
package com.xue.zk1;

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.ZooDefs.Ids;

public class ZkclientTest {
	ZooKeeper zkclient = null;
	public ZkclientTest() throws Exception {
		this.zkclient = new ZooKeeper("localhost:2181,localhost:2182,localhost:2183", 5000, null);
	}

	public void createPersistentNode(String path, Object data) throws Exception, InterruptedException {
		zkclient.create(path, "meiren".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
	}

	public static void main(String[] args) throws Exception {
		ZkclientTest zt = new ZkclientTest();
		zt.createPersistentNode("/zkclient", "zkclientnode2");

	}

}



如上图每个节点都有zkclient这个节点
  • 大小: 72.5 KB
2
2
分享到:
评论

相关推荐

    apache-zookeeper(apache-zookeeper-3.7.1-bin.tar.gz)

    apache-zookeeper分布式框架,压缩包内容:(apache-zookeeper-3.7.1-bin.tar.gz、apache-zookeeper-3.7.1.tar.gz、apache-zookeeper-3.6.4-bin.tar.gz、apache-zookeeper-3.6.4.tar.gz、apache-zookeeper-3.5.10-...

    zookeeper-3.4.5-cdh5.16.2.tar.gz

    总的来说,"zookeeper-3.4.5-cdh5.16.2.tar.gz"是构建和维护高效、稳定的CDH集群不可或缺的组件,它在分布式系统中的角色不可替代。理解并掌握Zookeeper的工作原理和使用方法,对于大数据环境的管理和优化至关重要。

    apache-zookeeper-3.6.2-bin.tar

    apache-zookeeper-3.6.2-bin.tar apache-zookeeper-3.6.2-bin.tar apache-zookeeper-3.6.2-bin.tar apache-zookeeper-3.6.2-bin.tar apache-zookeeper-3.6.2-bin.tar apache-zookeeper-3.6.2-bin.tar apache-...

    apache-zookeeper-3.6.3-bin.tar的压缩包,解压到本地即可使用,还有zk.sh的脚本以及zoo.cfg

    apache-zookeeper-3.6.3-bin.tar的压缩包,解压到本地即可使用,还有zk.sh的脚本以及zoo.cfg和xsync。ZooKeeper 是一个分布式协调服务 ,由 Apache 进行维护。ZooKeeper 可以视为一个高可用的文件系统。ZooKeeper ...

    最新版linux apache-zookeeper-3.7.0-bin.tar.gz

    - 解压`apache-zookeeper-3.7.0-bin.tar.gz`到你选择的目录,例如 `/opt`. - 配置`conf/zoo.cfg`,设置数据目录(dataDir)和日志目录(dataLogDir),并根据需求调整其他配置。 - 初始化数据目录,创建myid文件...

    apache-zookeeper-3.5.7-bin.tar.gz

    这个压缩包"apache-zookeeper-3.5.7-bin.tar.gz"是Zookeeper的可执行二进制文件包,用于在Linux或Unix类操作系统上部署和运行Zookeeper服务器。 **Zookeeper的基本概念:** 1. **节点(ZNode)**:Zookeeper的数据...

    zookeeper-3.4.5-cdh5.10.0.tar.gz

    Zookeeper是Apache Hadoop项目中的一个关键组件,主要用于分布式系统...通过"zookeeper-3.4.5-cdh5.10.0.tar.gz"这个工具包,我们可以方便地在CDH 5.10.0环境中部署和使用Zookeeper,从而提升整个Hadoop集群的稳定性。

    apache-zookeeper-3.5.8-bin.tar.gz

    解压压缩包的命令通常为`tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz`,这会在当前目录下创建一个名为"apache-zookeeper-3.5.8-bin"的文件夹。 Zookeeper的核心概念包括: 1. **节点(ZNode)**:Zookeeper的...

    apache-zookeeper-3.5.6-bin.tar

    在 `apache-zookeeper-3.5.6-bin.tar` 这个压缩包中,包含了 Apache ZooKeeper 3.5.6 版本的二进制文件,这是部署和运行 ZooKeeper 服务所必需的。这个版本引入了多项改进和修复,使得 ZooKeeper 更加稳定和高效。 ...

    zookeeper-3.5.3-beta集群配置

    例如,可以将其解压到`/usr/local/zookeeper-3.5.3-beta`。然后,创建一个数据存储目录,如`/var/lib/zookeeper/data`,用于保存每个ZooKeeper实例的数据和日志。 配置ZooKeeper集群的关键在于`conf/zoo.cfg`文件。...

    apache-zookeeper-3.8.4-bin.tar

    1. 解压`apache-zookeeper-3.8.4-bin.tar`到指定目录。 2. 配置`conf/zoo.cfg`,设置服务器ID、数据存储路径、集群配置等。 3. 启动Zookeeper服务,使用`bin/zkServer.sh start`命令。 4. 使用`bin/zkCli.sh`命令行...

    apache-zookeeper-3.6.4-bin.tar.gz

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、...

    apache-zookeeper-3.7.0-bin.tar.gz

    apache-zookeeper-3.7.0-bin.tar.gz

    apache-zookeeper-3.6.3-bin.zip

    打开“系统属性” -> “高级” -> “环境变量”,在“系统变量”部分新建一个变量,变量名为"ZOOKEEPER_HOME",变量值设置为Zookeeper解压后的路径,即"C:\Zookeeper\apache-zookeeper-3.6.3-bin"。 然后,在系统...

    twill-zookeeper-0.6.0-incubating-API文档-中文版.zip

    赠送jar包:twill-zookeeper-0.6.0-incubating.jar; 赠送原API文档:twill-zookeeper-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-zookeeper-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-...

    apache-zookeeper-3.7.0-bin.zip

    2. 配置环境变量:在系统环境变量中添加ZOOKEEPER_HOME,值设定为解压后的目录(如“C:\Zookeeper\apache-zookeeper-3.7.0-bin”),并将Path环境变量追加%ZOOKEEPER_HOME%\bin,以便在命令行中直接运行Zookeeper...

    apache-zookeeper-3.6.1-bin.tar.gz

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性...window下先解压为apache-zookeeper-3.6.1-bin.tar.gz

    twill-zookeeper-0.6.0-incubating-API文档-中英对照版.zip

    赠送jar包:twill-zookeeper-0.6.0-incubating.jar; 赠送原API文档:twill-zookeeper-0.6.0-incubating-javadoc.jar; 赠送源代码:twill-zookeeper-0.6.0-incubating-sources.jar; 赠送Maven依赖信息文件:twill-...

    apache-zookeeper-3.5.8-bin.zip

    在"apache-zookeeper-3.5.8-bin.zip"这个压缩包中,包含了Apache ZooKeeper 3.5.8版本的源码、编译后的二进制文件以及相关的配置和脚本。 1. **Zookeeper 的核心概念** - **节点(ZNode)**: ZooKeeper 数据模型由...

    zookeeper-3.4.10-API文档-中文版.zip

    赠送jar包:zookeeper-3.4.10.jar; 赠送原API文档:zookeeper-3.4.10-javadoc.jar; 赠送源代码:zookeeper-3.4.10-sources.jar; 赠送Maven依赖信息文件:zookeeper-3.4.10.pom; 包含翻译后的API文档:zookeeper-...

Global site tag (gtag.js) - Google Analytics