`

Zookeeper 配置

 
阅读更多
Zookeeper 的安装非常简单,下面将从单机模式和集群模式



单机模式配置:

  Zookeeper 的启动脚本在 bin 目录下,Linux 下的启动脚本是 zkServer.sh

在你执行启动脚本之前,还有几个基本的配置项需要配置一下,Zookeeper 的配置文件在 conf 目录下,这个目录下有 zoo_sample.cfg 和 log4j.properties,你需要做的就是将 zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。




tickTime=2000

dataDir=D:/devtools/zookeeper-3.2.2/build

clientPort=2181




tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
当这些配置项配置好后,你现在就可以启动 Zookeeper 了,启动后要检查 Zookeeper 是否已经在服务,可以通过 netstat – ano 命令查看是否有你配置的 clientPort 端口号在监听服务。

群集模式配置:


Zookeeper 还支持另外一种伪集群的方式,也就是可以在一台物理机上运行多个 Zookeeper 实例,下面将介绍集群模式的安装和配置。

Zookeeper 的集群模式的安装和配置也不是很复杂,所要做的就是增加几个配置项。集群模式除了上面的三个配置项还要增加下面几个配置项


initLimit=5

syncLimit=2

server.1=192.168.211.1:2888:3888

server.2=192.168.211.2:2888:3888



initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒



syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒



server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。


除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。

数据模型:

Zookeeper 会维护一个具有层次关系的数据结构,它非常类似于一个标准的文件系统

Zookeeper 这种数据结构有如下这些特点:


每个子目录项如 NameService 都被称作为 znode,这个 znode 是被它所在的路径唯一标识,如 Server1 这个 znode 的标识为 /NameService/Server1
znode 可以有子节点目录,并且每个 znode 可以存储数据,注意 EPHEMERAL 类型的目录节点不能有子节点目录
znode 是有版本的,每个 znode 中存储的数据可以有多个版本,也就是一个访问路径中可以存储多份数据
znode 可以是临时节点,一旦创建这个 znode 的客户端与服务器失去联系,这个 znode 也将自动删除,Zookeeper 的客户端和服务器通信采用长连接方式,每个客户端和服务器通过心跳来保持连接,这个连接状态称为 session,如果 znode 是临时节点,这个 session 失效,znode 也就删除了
znode 的目录名可以自动编号,如 App1 已经存在,再创建的话,将会自动命名为 App2
znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个是 Zookeeper 的核心特性,Zookeeper 的很多功能都是基于这个特性实现的,后面在典型的应用场景中会有实例介绍
如何使用

Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,后面将会详细介绍 Zookeeper 能够解决的一些典型问题,这里先介绍一下,Zookeeper 的操作接口和简单使用示例。



分享到:
评论

相关推荐

    zookeeper配置内容导入导出工具

    一款好用的zookeeper配置内容导入导出工具,适用平台是windows,但是也可以修改run.bat为shell脚本,适合linux。 带图形界面,修改config中的config.xml,添加需要管理的zookeeper地址信息,同时可以定义两个用户...

    zookeeper配置详解

    ### Zookeeper配置详解 Zookeeper是一款分布式的、开放源码的协调服务,它为分布式应用提供一致性服务。在分布式环境中,Zookeeper可以帮助解决各种复杂的分布式问题,如:配置管理、命名服务、集群管理等。本篇...

    zookeeper配置.docx

    Zookeeper 配置和集群操作 Zookeeper 是一个基于 Java 的分布式应用程序协调服务,提供了配置管理、命名、提供分布式同步和提供组服务等功能。下面将对 Zookeeper 的配置和集群操作进行详细说明。 Zookeeper 配置 ...

    hbase和zookeeper配置

    HBase 和 ZooKeeper 配置详解 HBase 和 ZooKeeper 是两个非常重要的分布式系统组件,分别用于分布式数据库和分布式协调服务。今天,我们将详细介绍如何配置 HBase 和 ZooKeeper,以便更好地理解它们之间的交互。 ...

    zookeeper配置文件.zip

    压缩包"zookeeper配置文件.zip"包含了四个配置文件:zoo4.cfg、zoo3.cfg、zoo1.cfg和zoo2.cfg,这些文件可能分别对应于一个Zookeeper集群中的四个节点。每个节点的配置文件都需要根据其角色和环境进行定制。 配置...

    zookeeper配置中心,配置自动发现和更新-zookeeper-demo.zip

    为了更好地管理和监控ZooKeeper配置中心,可以结合Prometheus和Grafana等工具收集和展示ZooKeeper的运行指标,及时发现并解决问题。 总结来说,`zookeeper-demo`项目提供了一个使用ZooKeeper作为配置中心的示例,...

    ZooKeeper配置和简单使用.pptx

    ### ZooKeeper配置与简单使用详解 #### 一、ZooKeeper简介 ZooKeeper是一款针对分布式应用提供的分布式协调服务框架,其核心功能包括命名服务、配置管理、同步机制以及组服务等。通过这些基础功能,ZooKeeper能够...

    大数据技术基础实验报告-Zookeeper的安装配置和应用实践.doc

    2. **端口冲突**:如果8080端口被其他服务占用(如Tomcat),需要修改Zookeeper配置文件`zoo.cfg`中的`admin.serverPort`,设置为未使用的端口号。 3. **启动失败**:可能由于下载了源码包而非可执行文件包导致。...

    hadoop、spark、zookeeper配置大全,绝对可用

    在Hadoop、Spark、Zookeeper配置中,有许多重要的知识点需要掌握。首先,我们需要了解Hadoop、Spark和Zookeeper的基本概念。 Hadoop是一个开源框架,它允许使用简单的编程模型在跨计算机集群的分布式环境中存储和...

    Zookeeper_安装和配置

    - **配置管理**:Zookeeper 提供了一种中心化的配置管理方式,可以集中管理和分发应用的配置,使集群中的所有节点共享相同的配置信息。 - **名字服务**:Zookeeper 可以作为分布式系统中的命名服务,帮助客户端找到...

    为zookeeper配置相应的acl权限

    Zookeeper 权限配置 ACL Zookeeper 是一个高可用的分布式协调服务,可以为分布式应用程序提供配置维护、命名、提供分布式同步和GROUP服务。为了确保 Zookeeper 的安全性和可靠性,需要配置相应的 ACL 权限。本文将...

    idea zookeeper插件

    1. **代码编辑支持**:提供对ZooKeeper配置文件的语法高亮和代码自动完成,使编写和修改配置更加便捷。 2. **节点浏览**:在IDEA中直接查看Zookeeper的节点结构,包括节点数据、子节点列表等信息。 3. **操作...

    zookeeper集群zookeeper配置文件

    zookeeper集群zoo.cfg配置文件,下载后将zookeeper地址改成实际地址,可以直接使用

    hbase配置内置的zookeeper

    ### HBase 配置内置 ZooKeeper 的详细步骤与解析 #### 一、配置背景与目的 在 HBase 的部署环境中,ZooKeeper 起着非常重要的作用,它主要用于协调集群中的各个节点,并且管理 HBase 的元数据。通常情况下,HBase ...

    zookeeper增加权限登录验证

    ZooKeeper 是一个广泛使用的分布式协调服务,它提供了许多有用的功能,如配置管理、名字服务、分布式锁等。然而,在 ZooKeeper 中存在一些安全漏洞,例如未经授权的访问、数据泄露等。为了解决这些问题,本文将介绍...

    Zookeeper 安装和配置

    Zookeeper 是一个分布式协调服务,由 Apache 开源项目提供,广泛应用于分布式系统中,如分布式配置、集群管理、命名服务等。它通过提供强一致性、高可用性以及顺序访问等特性,帮助解决分布式环境下的数据同步问题。...

    zookeeper配置文件zoo.cfg以及详细描述

    适用于zookeeper初学者,里面文件拥有一些详细的解释 以及用法

    第7章 ZooKeeper组件安装配置.pdf

    《ZooKeeper组件安装配置详解》 ZooKeeper,作为分布式协调服务的基石,是Apache Hadoop项目的重要组成部分。在大型分布式系统中,ZooKeeper常用于管理命名服务、配置管理、集群同步、选举等核心功能。本章将详细...

    zookeeper 单机集群配置

    总结一下,ZooKeeper单机集群配置主要包括下载与解压、环境变量配置、ZooKeeper配置文件修改、初始化数据目录、启动ZooKeeper服务以及测试服务。在Java Dubbo项目中,ZooKeeper发挥着关键的协调作用,使得服务之间的...

    CentOS7安装与配置Zookeeper1

    【CentOS7安装与配置Zookeeper】是针对Linux系统中常用的服务发现和分布式协调框架Zookeeper进行的基础操作。Zookeeper是Apache Hadoop项目的一部分,它为分布式应用提供了一个高效、可靠的分布式协调服务。 首先,...

Global site tag (gtag.js) - Google Analytics