ClickHouse keeper 配置说明

news/2025/2/21 4:23:02/文章来源:https://www.cnblogs.com/wangguishe/p/18701570
tcp_port参数描述:客户端连接的端口。默认值:2181解释:这是客户端用来连接到服务的端口号。tcp_port_secure参数描述:客户端和服务(keeper-server)之间SSL连接的安全端口。默认值:未设置(-)解释:这是为安全连接(如SSL)设置的专用端口。server_id参数描述:唯一服务器ID,ClickHouse Keeper集群的每个参与者都必须有一个唯一的数字(1、2、3等)。默认值:未设置(-)解释:这是标识服务器在集群中的唯一身份的标识符。log_storage_path参数描述:协调日志的路径,最好将日志存储在非繁忙的节点上,就像ZooKeeper一样。默认值:未设置(-)解释:这是服务存储日志文件的路径。snapshot_storage_path参数描述:协调快照的路径。默认值:未设置(-)解释:这是服务存储快照文件的路径。enable_reconfiguration参数描述:是否通过reconfig启用动态集群重新配置。默认值:False解释:这个开关决定是否允许动态地重新配置集群。max_memory_usage_soft_limit参数描述:最大内存使用量的软限制(以字节为单位)。默认值:max_memory_usage_soft_limit_ratio * physical_memory_amount计算得出。解释:这是服务可以使用的内存的上限。max_memory_usage_soft_limit_ratio参数描述:如果未设置max_memory_usage_soft_limit或设置为零,则使用此值来定义默认软限制。默认值:0.9(即90%的物理内存)解释:用于计算服务可使用的内存软限制的比率。cgroups_memory_observer_wait_time参数描述:如果未设置max_memory_usage_soft_limit或设置为0,我们使用此间隔来观察物理内存的量。一旦内存量发生变化,我们将通过max_memory_usage_soft_limit_ratio重新计算保管者的内存软限制。默认值:15(单位可能是秒或其他时间单位)解释:用于观察系统内存状态的时间间隔。http_control参数描述:HTTP控制接口的配置。默认值:未设置(-)解释:这是关于如何通过HTTP进行控制或管理的配置。digest_enabled参数描述:启用实时数据一致性检查。默认值:True解释:这个开关决定是否进行数据一致性检查。create_snapshot_on_exit 参数描述:在关机时创建快照。默认值:未设置(-)解释:这个选项可能允许系统在关闭之前创建一个数据快照,可能是为了备份或恢复目的。通常,在数据库或其他数据存储系统中可以看到这样的功能。hostname_checks_enabled 参数描述:为集群配置启用主机名检查(例如,如果本地主机与远程端点一起使用)。默认值:True解释:这个选项确保在集群配置中使用的主机名是有效的和合理的,以避免配置错误或潜在的问题。当使用本地主机名与远程端点交互时,这种检查尤其重要。four_letter_word_white_list (4lw) 参数描述:四字母命令的白名单。可用值: conf, cons, crst, envi, ruok, srst, srvr, stat, wchs, dirs, mntr, isro, rcvr, apiv, csnp, lgif, rqld, ydld解释:这个选项允许用户指定一系列特定的四字母命令,这些命令是被允许或受信任的。列表中的命令可能用于特定的系统命令或功能。operation_timeout_ms单个客户端操作的超时时间(毫秒)。默认值为: 10000描述: 如果客户端操作超过这个时间还没有完成,将会超时。min_session_timeout_ms客户端会话的最小超时时间(毫秒)。默认值为: 10000描述: 设置客户端会话的最小超时时间限制。session_timeout_ms客户端会话的最大超时时间(毫秒)。默认值为: 100000描述: 设置客户端会话的最大超时时间限制。dead_session_check_period_msClickHouse Keeper检查死会话并移除它们的周期(毫秒)。默认值为: 500描述: Keepers定期检查是否有不再活跃的会话,并清理它们。heart_beat_interval_msClickHouse Keeper leader发送心跳到追随者的频率(毫秒)。默认值为: 500描述: leader节点定期向follower节点发送心跳信号以保持连接。election_timeout_lower_bound_ms & election_timeout_upper_bound_ms如果follower在指定的间隔内没有收到leader的心跳,则可以发起领导选举。上下界设置领导选举的时间限制。描述: 当follower在一定时间内未收到leader的心跳时,将发起领导选举。这两个值必须合理配置以确保系统的稳定性。rotate_log_storage_interval单个文件中存储的日志记录数。默认值为: 100000描述: 设置日志文件的存储策略。reserved_log_items在压缩之前要存储的协调日志记录数。默认值为: 100000描述: 设置保留的日志条目数量。snapshot_distance & snapshots_to_keep创建新快照的频率和要保留的快照数量。描述: 配置系统创建快照的频率和保留的快照数量。stale_log_gap & fresh_log_gap当leader认为follower过时并发送快照而不是日志时的阈值,以及节点变为新鲜时的日志差距。描述: 用于确定何时向过时的follower发送快照而不是日志更新。max_requests_batch_size发送到RAFT的最大请求批次大小。默认值为: 100描述: 设置发送到RAFT的最大请求批次大小。force_sync每次写入协调日志时调用fsync。默认值为: true描述: 确保每次写入都同步到磁盘。quorum_reads通过整个RAFT共识以相似速度执行读取请求。默认值为: false描述: 是否通过整个RAFT共识执行读取请求。raft_logs_level关于协调的文本日志级别。默认值为: 系统默认描述: 设置RAFT相关的日志级别。auto_forwarding允许从追随者向领导者转发写请求。默认值为: true描述: 是否允许自动转发写请求。shutdown_timeout & startup_timeout关闭和启动时的超时时间。描述: 设置系统关闭和启动时的超时限制。async_replication启用异步复制。在保持所有写和读保证的同时实现更好的性能。默认值为: false描述: 是否启用异步复制功能。这可以在保持数据一致性的同时提高性能。latest_logs_cache_size_threshold & commit_logs_cache_size_threshold最新日志条目的内存缓存的最大总大小,以及为提交所需的日志条目的内存缓存的最大总大小。描述: 设置内存缓存的大小阈值,用于存储最新的日志条目和提交所需的日志条目。这些参数有助于优化内存使用和提高性能。接下来的数值指定了具体的阈值大小,例如以GiB或MiB为单位的大小。接下来的参数与磁盘操作和移动有关,涉及到文件在磁盘之间的移动失败后的

配置示例

<keeper_server><tcp_port>2181</tcp_port><server_id>1</server_id><log_storage_path>/var/lib/clickhouse/coordination/log</log_storage_path><snapshot_storage_path>/var/lib/clickhouse/coordination/snapshots</snapshot_storage_path><coordination_settings><operation_timeout_ms>10000</operation_timeout_ms><session_timeout_ms>30000</session_timeout_ms><raft_logs_level>trace</raft_logs_level></coordination_settings><raft_configuration><server><id>1</id><hostname>zoo1</hostname><port>9234</port></server><server><id>2</id><hostname>zoo2</hostname><port>9234</port></server><server><id>3</id><hostname>zoo3</hostname><port>9234</port></server></raft_configuration>
</keeper_server>

参考文档

https://clickhouse.com/docs/en/guides/sre/keeper/clickhouse-keeper

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/886561.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传统ftp无法满足高性能传输需求,如何寻找替代ftp的技术?

面对现在数据量的激增和网络安全威胁的不断演变,许多传统企业在用传统的FTP系统都面对着许多的安全和传输问题,企业面临的挑战是如何在保障数据安全的同时,提高文件传输的效率,因此原FTP系统已经逐步无法满足现代企业的需求。今天主要了解下企业需要替代FTP的原因,以及如何…

只需简单5步,Ansible脚本自动搭建AlwaysOn集群(已测试通过,可实际运行)

只需简单5步,Ansible脚本自动搭建AlwaysOn集群(已测试通过,可实际运行)之前已经介绍过这套脚本,请看下面&darr; 一分钟搞定!CentOS 7.9上用Ansible自动化部署SQL Server 2019 注意: 这套ansible脚本不支持RHEL 7.X 和CentOS7.X系统! 这套ansible脚本不支持RHEL 7.X …

[AI/计算机硬件] 部署、训练AI大模型的显卡采购指南 [转]

序截至2025年,全球主流的AI大模型满血版的参数量均已突破百亿级,算力需求正以指数级飙升。特别是 DeepSeek 公司旗下的 R1 系列模型的问世,推动了很多中小企业部署私有化模型的需求。然而,面对动辄数十万上百万元的GPU采购成本,选错一块显卡可能让企业付出高昂的试错代价。…

清华DeepSeek手册第Ⅳ版《DeepSeek﹢智灵DeepResearch 让科研像聊天一样简单》

在数字化浪潮汹涌澎湃的当下,大模型如同一颗璀璨新星,强势崛起并迅速成为科技领域的焦点。从最初的理论探索到如今在各个行业的广泛应用,大模型正以惊人的速度重塑着我们的生活与工作模式。 它的出现不仅是人工智能技术发展的重大突破,更是推动经济增长、提升社会治理效能、…

[Vite] Code Splitting Vite

Code Splitting 打包构建中的代码拆分(Code Splitting)是一种优化技术,它将应用程序的代码拆分成多个小块(chunks),并在需要时按需加载这些代码块。这种技术的目的是提高应用程序的性能和用户体验,主要有以下几个原因:减少初始加载时间 当应用程序的代码被打包成一个单…

ArrayBlockingQueue的poll方法底层原理

一、ArrayBlockingQueue的poll方法底层原理 ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个基于数组实现的有界阻塞队列。它的 poll() 方法是用于从队列中移除并返回队首元素的核心方法之一。与 take() 方法不同,poll() 方法在队列为空时不会阻塞,而是立…

java web前台技术的初步学习

今日学习了Java Web 基本开发技术前台技术,分为HTML和CSS HTML 是构建网页结构的基础,用于定义网页中的各种元素,如标题、段落、图片、链接、表格等。通过不同的标签组合,可以搭建出网页的基本框架。 常用标签示例 html示例页面这是一级标题这是一个段落。访问示例网站CSS …

蜜罐-Hfish

一、蜜罐简介 1.1蜜罐技术 ​ 蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击。从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所…