zookeeper命令

ZooKeeper安装配置

僤鯓⒐⒋嵵緔 提交于 2019-12-05 04:33:37
1.什么是ZooKeeper? Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 注意,这是一个协调平台,不是管理平台。类似于红绿灯,可以协调帮助道路通畅。 ZooKeeper起到了一个协调各个框架的作用。它并不是直接为我们的数据提供服务。 ZooKeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,他负责存储和挂历大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,ZooKeeper就将负责通知已经在ZooKeeper上注册的那些观察者做出相应的反应。 所以,ZooKeeper = 文件系统 + 通知机制 2.ZooKeeper集群特点 1)Zookeeper:一个领导者(leader),多个跟随者(follower)组成的集群。 2)Leader负责进行投票的发起和决议,更新系统状态 3)Follower用于接收客户请求并向客户端返回结果,在选举Leader过程中参与投票 4)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。 5)全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的。 6)更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行。 7)数据更新原子性,一次数据更新要么成功,要么失败。 8)实时性

Zookeeper基本原理与应用场景

ぐ巨炮叔叔 提交于 2019-12-05 04:23:56
Zookeeper是一个针对大型分布式系统的可靠协调系统。提供的功能包括:配置维护、名字服务、分布式同步、组服务等。目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper已经成为Hadoop生态系统中的基础组件。 Zookeeper有如下特点: 最终一致性:为客户端展示同一视图,这是zookeeper最重要的功能。 可靠性:如果消息被到一台服务器接受,那么它将被所有的服务器接受。 实时性:Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。 等待无关(wait-free):慢的或者失效的client不干预快速的client的请求。 原子性:更新只能成功或者失败,没有中间状态。 顺序性:所有Server,同一消息发布顺序一致。 Zookeeper的应用有 HDFS、YARN、Storm、HBase、Flume、Dubbo(阿里巴巴)以及metaq阿里巴巴)。 Zookeeper基本原理 Zookeeper的架构如图所示。 每个Server在内存中存储了一份数据。当Zookeeper启动时,将从实例中选举一个leader(Paxos协议)。Leader负责处理数据更新等操作(Zab协议)。一个更新操作成功,当且仅当大多数Server在内存中成功修改数据。

ZooKeeper常用命令

你。 提交于 2019-12-05 04:23:05
1.3.1 集群运行模式 ZooKeeper集群状态可以通过zkServer.sh脚本检测,命名如下所示: $ zkServer.sh status JMX enabled by default Using config: /usr/share/zookeeper- 3.4 .6 /bin/../conf/zoo.cfg Mode: standalone 从Mode:standlone信息说明,它是单一节点。另外,可以使用jps命令查看对应ZooKeeper运行进程名称QuorumPeerMain。 $jps 27847 QuorumPeerMain 5003 jar 1.3.2 连接到服务器节点 运行基于ZooKeeper命名行shell脚本,只需要运行zkCli.sh 加参数。运行脚本如下所示: ${ZK_HOME} /bin/zkCli.sh –server zk_server:port 1.3.3 连接到集群 连接到ZooKeeper法人集群中,可以通过命令行shell脚本zkCli.sh 。具体命令如下: ${ZK_HOME} /bin/zkCli.sh -server zoo1: 2181 ,zoo2: 2181 ,zoo3: 2181 迎春节,猴年大吉大利! 欢迎关注我的微信公众号 来源: CSDN 作者: John00000001 链接: https://blog

ZooKeeper启动错误 Invalid arguments, exiting abnormally 解决方案 Windows

泪湿孤枕 提交于 2019-12-05 04:20:56
使用bin中的脚本 zkServer.cmd 启动zookeeper,输入命令 D:\WORK\Project-Test\zookeeper-3.4.11\bin>zkServer.cmd start 发现无法启动,出现如下错误 2018-01-29 19:37:33,793 [myid:] - ERROR [main:ZooKeeperServerMain@57] - Invalid arguments, exiting abnormally java.lang.NumberFormatException: For input string: "D:\WORK\Project-Test\zookeeper-3.4.11\bin\..\conf\zoo.cfg" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at org.apache.zookeeper.server.ServerConfig.parse(ServerConfig.java:61) at org.apache

zookeeper原理 使用场景

不羁岁月 提交于 2019-12-05 04:20:01
ZooKeeper是 Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper提供的Client API的使用,第三部分介绍一些ZooKeeper典型的应用场景。 ZooKeeper基本原理 1. 数据模型 如上图所示,ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,比如上图中第三层的第一个ZNode, 它的路径是/app1/c1。在每个ZNode上可存储少量数据(默认是1M, 可以通过配置修改, 通常不建议在ZNode上存储大量的数据),这个特性非常有用,在后面的典型应用场景中会介绍到。另外,每个ZNode上还存储了其Acl信息,这里需要注意,虽说ZNode的树形结构跟Unix文件系统很类似,但是其Acl与Unix文件系统是完全不同的,每个ZNode的Acl的独立的,子结点不会继承父结点的,关于ZooKeeper中的Acl可以参考之前写过的一篇文章《 说说Zookeeper中的ACL 》。 2.重要概念 2.1 ZNode 前文已介绍了ZNode

ZooKeeper原理及使用

让人想犯罪 __ 提交于 2019-12-05 04:19:24
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper提供的Client API的使用,第三部分介绍一些ZooKeeper典型的应用场景。 ZooKeeper基本原理 1. 数据模型 如上图所示,ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,比如上图中第三层的第一个ZNode, 它的路径是/app1/c1。在每个ZNode上可存储少量数据(默认是1M, 可以通过配置修改, 通常不建议在ZNode上存储大量的数据),这个特性非常有用,在后面的典型应用场景中会介绍到。另外,每个ZNode上还存储了其Acl信息,这里需要注意,虽说ZNode的树形结构跟Unix文件系统很类似,但是其Acl与Unix文件系统是完全不同的,每个ZNode的Acl的独立的,子结点不会继承父结点的,关于ZooKeeper中的Acl可以参考之前写过的一篇文章《 说说Zookeeper中的ACL 》。 2.重要概念 2.1 ZNode 前文已介绍了ZNode,

Zookeeper原理架构

跟風遠走 提交于 2019-12-05 04:19:08
本文纯属个人笔记,通俗易懂,转载请附上原文链接!部分资料摘自网络,如有雷同,纯属巧合! 更多资料见个人博客 https://www.rabbitai.cn Zookeeper到底是什么!? 学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色。 然后看到官网那些专有名词,实在理解不了。 在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 那么我们来仔细研究一下这个东西吧! ###Zookeeper能干嘛?! ####1. 配置管理 这个好理解。分布式系统都有好多机器,比如我在搭建hadoop的HDFS的时候,需要在一个主机器上(Master节点)配置好HDFS需要的各种配置文件,然后通过scp命令把这些配置文件拷贝到其他节点上,这样各个机器拿到的配置信息是一致的,才能成功运行起来HDFS服务。Zookeeper提供了这样的一种服务:一种集中管理配置的方法,我们在这个集中的地方修改了配置

zookeeper 伪集群搭建

浪尽此生 提交于 2019-12-05 03:43:53
简介 Zookeeper 是 一个分布式。开放源码的分布式应用程序协调服务,是Google Chubby的一个开源实现,大多数的分布式应用都需要Zookeeper的支持,这篇文章先简单的和大家分享如何搭建一个zookeeper集群。(笔者注:Chubby是一个lock service,通过这个lock service可以解决分布式中的一致性问题。为这个lock service的实现是一个分布式的文件系统。 环境: 由于我是用自己的笔记本做实验,所以就用了一台虚拟机;其实和真实的差不多;也就配置有些许不同。 步骤 第一步:在你的虚拟机上安装JDK/JRE ; 第二步:下载zookeeper: http://mirrors.hust.edu.cn/apache/zookeeper/ 这边下载版本的需要注意了。3.4.6 和3.4.8+ 是有区别的,后面具体说一下,建议下载3.4.8+。 第三步:创建相关目录,解压zk 目录和日志目录。 mkdir /tools/zookeeper/zookeeper-3.4.6/server1 mkdir /tools/zookeeper/zookeeper-3.4.6/server2 mkdir /tools/zookeeper/zookeeper-3.4.6/server3 mkdir /data/dataLogs/zookeeper/s1

zookeeper 配置启动报错(org.apache.zookeeper.server.quorum.QuorumPeerMain)

百般思念 提交于 2019-12-05 03:17:48
错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain 下载zookpeeper 安装包, 配置 一 : 在conf目录下添加 zoo.cfg 文件 添加如下内容 tickTime=2000 initLimit=10 syncLimit=5 dataDir=F:\zookeeper-3.4.10\data dataLogDir=F:\zookeeper-3.4.10\log clientPort=2181 二:复制 zoo_sample.cfg 文件 重命名为 zoo.cfg 打开cmd 命令窗口 CD 到 zookeeper的bin 目录下 当时参考网上的配置 说 输入 zkServer.sh start 然后就报了上面的错误了,一直启动不了。当时也没怀疑这句命令, 后来查找下资料说 windows 环境下 不需要加 start,在liunx 环境下需要。 windows 直接输入zkServer.cmd 就可以启动成功了 来源: CSDN 作者: Crow-亚 链接: https://blog.csdn.net/jiang1245764446/article/details/77366947

python 操作zookeeper详解

一曲冷凌霜 提交于 2019-12-05 02:29:10
ZooKeeper 简介   ZooKeeper 是一个分布式的、开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper 支持大部分开发语言,除了某些特定的功能只支持 Java 和 C。python 通过 kazoo 可以实现操作 ZooKeeper 。 一、安装 这个简单,使用 pip 命令安装 pip3 install kazoo 二、连接 ZooKeeper 可通过 KazooClient 类直接连接 ZooKeeper ,支持多个 host ,端口默认 2181。 import json from kazoo.client import KazooClient zk = KazooClient(hosts='10.1.44.55') zk.start() 三、创建节点 先看下 create() 方法定义 def create(self, path, value=b"", acl=None, ephemeral=False, sequence=False, makepath=False): :param path: Path of node. :param value: