最小配置
-
clientPort 监听客户端连接的端口
-
dataDir 内存数据库快照存放地址,如果没有指定事务日志存放地址(dataLogDir),默认也是存放在这个路径下,建议两个地址分开存放到不同的设备上。
-
tickTime 心跳基本时间单位,毫秒级,ZK基本上所有的时间都是这个时间的整数倍。
高级配置(可选,有的需要直接通过系统属性进行设置)
-
dataLogDir 将事务日志存储在该路径下,比较重要,这个日志存储的设备效率会影响ZK的写吞吐量。
-
globalOutstandingLimit (Java system property: zookeeper.globalOutstandingLimit)默认值是1000,限定了所有连接到服务器上但是还没有返回响应的请求个数(所有客户端请求的总数,不是连接总数),这个参数是针对单台服务器而言,设定太大可能会导致内存溢出。
-
preAllocSize (Java system property: zookeeper.preAllocSize)默认值64M,以KB为单位,预先分配额定空间用于后续transactionlog 写入,每当剩余空间小于4K时,就会又分配64M,如此循环。如果SNAP做得比较频繁(snapCount比较小的时候),那么请减少这个值。
-
snapCount (Java system property: zookeeper.snapCount)默认值100,000,当transaction每达到snapCount/2+rand.nextInt(snapCount/2)时,就做一次SNAPSHOT,默认情况下是50,000~100,000条transactionlog就会做一次,之所以用随机数是为了避免所有服务器可能在同一时间做snapshot.
-
traceFile (Java system property: requestTraceFile)
-
maxClientCnxns 默认值是10,一个客户端能够连接到同一个服务器上的最大连接数,根据IP来区分。如果设置为0,表示没有任何限制。设置该值一方面是为了防止DoS攻击。
-
clientPortAddress 与clientPort匹配,表示某个IP地址,如果服务器有多个网络接口(多个IP地址),如果没有设置这个属性,则clientPort会绑定到所有IP地址上,否则只绑定到该设置的IP地址上。
-
minSessionTimeout 最小的session time时间,默认值是2个tick time,客户端设置的session time 如果小于这个值,则会被强制协调为这个最小值。
-
maxSessionTimeout 最大的session time 时间,默认值是20个tick time. ,客户端设置的session time 如果大于这个值,则会被强制协调为这个最大值。
集群配置选项
-
electionAlg 领导选举算法,默认是3(fast leader election,基于TCP),0表示leader选举算法(基于UDP),1表示非授权快速选举算法(基于UDP),2表示授权快速选举算法(基于UDP),目前1和2算法都没有应用,不建议使用,0算法未来也可能会被干掉,只保留3(fast leader election)算法,因此最好直接使用默认就好。
-
initLimit tickTime的个数,表示在leader选举结束后,followers与leader同步需要的时间,如果followers比较多或者说leader的数据灰常多时,同步时间相应可能会增加,那么这个值也需要相应增加。当然,这个值也是follower和observer在开始同步leader的数据时的最大等待时间(setSoTimeout)
-
syncLimit tickTime的个数,这时间容易和上面的时间混淆,它也表示follower和observer与leader交互时的最大等待时间,只不过是在与leader同步完毕之后,进入正常请求转发或ping等消息交互时的超时时间。
-
leaderServes (Java system property: zookeeper.leaderServes) 如果该值不是no,则表示该服务器作为leader时是需要接受客户端连接的。为了获得更高吞吐量,当服务器数三台以上时一般建议设置为no。
-
cnxTimeout (Java system property: zookeeper.cnxTimeout) 默认值是5000,单位ms 表示leaderelection时打开连接的超时时间,只用在算法3中。
不安全配置项
分享到:
相关推荐
zookeeper之分布式环境搭建:Apache ZooKeeper分布式环境搭建教程; zookeeper之分布式环境搭建:Apache ZooKeeper分布式环境搭建教程; zookeeper之分布式环境搭建:Apache ZooKeeper分布式环境搭建教程; ...
这对于分布式系统的稳健运行至关重要,尤其是在需要协调多节点行为的场景下,比如配置管理、同步锁、分布式队列等。Zookeeper的设计和Paxos算法的应用,是分布式系统理论和实践相结合的经典案例。
zookeeper之分布式环境搭建:深入解析ZooKeeper分布式环境搭建+编程知识+技术开发; zookeeper之分布式环境搭建:深入解析ZooKeeper分布式环境搭建+编程知识+技术开发; zookeeper之分布式环境搭建:深入解析...
### Zookeeper 学习笔记 #### 一、Zookeeper 简介与安装配置 **Zookeeper** 是一个分布式协调服务框架,它提供了一种高效可靠的机制来维护集群中的配置信息、命名服务以及提供分布式锁等功能,使得开发人员能够...
"zookeeper"标签表明了该工具的核心功能是围绕Zookeeper展开的,Zookeeper作为一个分布式协调服务,它提供了命名服务、配置管理、组服务、分布式同步、领导选举等功能,是大数据应用中的重要组件。 "大数据"标签则...
Zookeeper 提供多种服务,如命名服务、配置管理、集群管理、选举算法、锁定和同步服务等。它维护着一个高度可靠的分布式数据注册表,即使部分节点失效,也能保证数据的可用性。Zookeeper 的原子性和顺序性保证了数据...
《Zookeeper原生API、ZkClient与...通过学习和运行这个项目,你不仅可以掌握Zookeeper的基本操作,还能深入理解分布式协调中的关键问题,如集群管理、分布式锁的实现,从而提升你在分布式系统设计和开发中的能力。
ZooKeeper 学习笔记 ZooKeeper 是一个开源的分布式协调服务,由 Hadoop 的创始人 Doug Cutting 等人开发。它为分布式应用提供了一个高效、可靠的协调机制,帮助开发者快速构建高可用、可扩展的分布式系统。 ...
查看ZooKeeper中的节点信息是管理和维护分布式系统的基础。...通过本文的介绍和代码示例,相信读者已经掌握了如何在ZooKeeper中查看节点信息,并能够将这些技能应用于实际的分布式系统管理和开发中。
1. **复制**:将 Zookeeper 目录复制多份,例如复制成 `zookeeper0`, `zookeeper1`, `zookeeper2`。 2. **配置**:分别对每个副本的 `zoo.cfg` 进行配置,包括添加集群相关参数和修改数据目录、端口号: - `...
ZooKeeper笔记 ZooKeeper是一个分布式应用程序协调服务,提供了一个树形命名空间,用于存储和管理数据。 ZooKeeper主要用于分布式应用程序的配置管理、名称服务、分布式同步和提供组服务等。 ZooKeeper命令 * ...
本文详细介绍了 ZooKeeper 中的节点权限级别、如何设置和管理这些权限,并通过 Java 和 Python 客户端库的代码示例展示了如何在实际应用中配置 ACL。通过这些信息,读者应该能够更好地理解和应用 ZooKeeper 的权限...
通过本文的介绍,读者应该对ZooKeeper中节点的创建有了全面的了解。无论是在Java、Python还是C#中,创建ZNode的过程都遵循类似的步骤,但具体的API和客户端库的使用各有不同。正确地创建和管理ZNode对于确保分布式...
zookeeper-3.3.6.tar.gz,ZooKeeper的安装与部署 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务...
它最初设计的核心功能是提供分布式锁服务,但随着社区的发展,Zookeeper的功能得到了扩展,现在还用于配置维护、组服务、分布式消息队列以及分布式通知/协调等任务。 Zookeeper的核心数据结构是Znode,它类似于文件...
通过指定镜像、端口映射、环境变量和依赖关系等配置,实现了Zookeeper和Kafka的快速部署和集成。同时,在定义了一个名为"mynetwork"的网络来连接这些服务,确保它们可以相互通信。整体而言,这个Docker Compose 文件...
【Zookeeper学习笔记】 Zookeeper是一个分布式协调服务,它的核心目标是简化分布式环境下的数据管理与系统协调。作为Apache Hadoop和HBase的重要组件,Zookeeper提供了简单的原语集,支持分布式应用程序之间的通信...
2. **配置管理**:集中管理和动态更新分布式系统的配置信息,简化了配置的管理和分发。 3. **集群管理**:监控服务状态,实现服务发现和服务间的相互通信。 4. **分布式同步**:提供分布式锁和队列,确保分布式环境...
在2021年的尚硅谷技术分享中,这些笔记涵盖了ZooKeeper的核心概念、安装配置、数据模型、会话与 watches、集群搭建以及常见应用场景。 **1. ZooKeeper核心概念** ZooKeeper的核心概念包括ZNode、ACL(访问控制列表...
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中...通过学习和熟练掌握zktools的使用,可以更有效地管理和优化基于ZooKeeper的分布式系统,提升整体的系统稳定性和效率。