写点什么

《一文讲透》第 4-2 期:KWDB 数据库运维 —— 集群参数

作者:KWDB数据库
  • 2024-11-21
    上海
  • 本文字数:1557 字

    阅读完需:约 5 分钟

作为一款 “多模融合” 的开源数据库,KWDB 旨在为用户提供 “灵活快速、可靠易用 “的操作体验。因此,KWDB 的一大任务就是:简化数据库集群配置。


为避免每个节点单独编写配置文件或者重启中断服务,KWDB 跳出传统的配置文件方式,采用了启动参数和集群参数组合的方式来控制数据库集群。本文就带领大家一起快速了解 KWDB 的集群参数。


01 概述


根据参数使用场景和生效范围,KWDB 的参数分为三类:启动参数、环境变量和实时集群参数。


✅ 启动参数

  • 启动参数是数据库实例级别的参数,控制数据库单个服务的行为。

  • 此类参数只在数据库实例启动时一次性读取,一旦发生修改,需要重启数据库服务才能生效。

  • 参数可以在启动命令中一次性传递,也可以通过维护系统服务如 systemd 来持久化。

✅ 环境变量

  • 环境变量是操作系统级别的参数,控制用户或者系统级别下所有数据库实例的行为。

  • 此类参数只在数据库进程启动时一次性读取,一旦发生修改,需要重启数据库服务才能生效。

  • 参数可以在系统或用户级 shell 配置文件中配置,如 .bashrc 或者 .bash_profile,也可以在系统服务如 systemd 中进行配置。

✅ 实时集群参数

  • 实时集群参数是数据库集群级别的参数,控制同一集群下所有数据库实例的行为。

  • 此类参数实时生效并自动广播至集群每个节点,不需要重启任何数据库服务。

  • 参数通过 SQL 语句进行修改,会写入系统表进行持久化。

 

以下为三类参数的详细说明。


02 启动参数


启动参数包括通用、网络、安全、日志等类型参数,下面将按照类型划分,对参数进行解释。开始前须知:

  • 很多参数都有默认值,可以通过显式指定的方式来覆盖默认值。因为指定值不是持久化的操作,每次重新启动节点时都需要重新配置指定值。唯一的例外是 --join 参数,--join 参数的指定值将存储在节点的数据文件中,KWDB 推荐每次启动时重复配置,以便在数据文件丢失时节点也能够加入集群并进行恢复。

  • 启动参数配置需要重启系统后才能生效。


✅ 通用参数



2、安全参数



3、存储参数


--store 支持以下配置项,配置项之间通过逗号分隔,因此配置项的值应避免使用逗号。开始前须知:在生产部署环境中不适合使用内存存储。

在没有特殊复制约束的情况下,KWDB 会重新平衡副本以利用可用的存储空间。但是,在每个节点具有多个存储的 3 节点集群中,KWDB 不能将副本从一个存储重新平衡到同一节点上的另一存储,因为这将暂时导致该节点具有相同 range 的多个副本,由于重新平衡的机制不允许发生这种情况,在该机制下,集群会先删除目标副本,然后再在目标位置创建副本的副本。

也就是说,要允许这种跨存储区的重新平衡类型,集群必须具有 4 个及以上节点。这允许集群在删除源副本之前,在尚未具有该 range 副本的节点上创建副本的副本,然后将新副本迁移到原始节点中空间更大的存储中。



4、日志参数


默认情况下,系统将所有信息打印到日志文件中,不向 stderr 输出任何内容。



03 环境变量


对于 KWDB 命令的许多常见参数,例如 --port 和 --user,可以设置环境变量代替每次执行命令时手动制定这些参数。要查看当前的 KWDB 配置和其他环境变量,请运行 env。

如果节点在启动时使用环境变量,变量名将被打印到节点的日志中。

KWDB 优先考虑命令参数和环境变量,其优先级(从前向后依次递减)为:

  • 命令中指定的参数

  • 环境变量

  • 默认值

如果既没有命令参数,环境变量,也没有默认值,KWDB 将会报错。

下表列出了目前支持配置的环境变量:



04 实时集群参数


KWDB 支持通过 SET CLUSTER SETTING 语句修改集群设置,设置后立即生效。需要注意的是:

  • 许多集群参数的设置会影响 KWDB 的内部运行机制。修改参数设置前,强烈建议明确使用 KWDB 的目的,以免因修改设置带来风险。

  • 仅数据库 root 用户可以更改集群参数设置。

 

下表列出了 KWDB 支持设置的所有集群参数及默认值,也可通过 SHOW ALL CLUSTER SETTINGS 语句查看当前集群的所有参数及配置值。



用户头像

KWDB数据库

关注

还未添加个人签名 2024-08-20 加入

还未添加个人简介

评论

发布
暂无评论
《一文讲透》第 4-2 期:KWDB 数据库运维 —— 集群参数_集群_KWDB数据库_InfoQ写作社区