ClickHouse keeper 配置说明

 


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_ms
    ClickHouse Keeper检查死会话并移除它们的周期(毫秒)。
    默认值为: 500
    描述: Keepers定期检查是否有不再活跃的会话,并清理它们。

heart_beat_interval_ms
    ClickHouse 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

posted @   小吉猫  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示