概述
集群类型
KWDB 支持以下集群部署类型:
| 类别 | 多副本集群 | 单副本集群 |
|---|---|---|
| 定义 | KWDB 在同一机房的多个节点上运行,每份数据默认有 3 份副本,且副本分布在不同节点上。 | KWDB 在同一机房的多个节点上运行,整个集群只有一份数据副本,所有数据的存储和更新操作都由该副本负责。 |
| 性能 | 数据写入性能弱于单节点部署和单副本集群; 简单场景下数据读取性能略弱于单节点部署,复杂场景下数据读取性能与单副本集群相同。 提示: 多副本集群可通过以下参数优化写入性能: - ts.raft_log.sync_period: 延长时序数据 raft log 的落盘周期- ts.raftlog_combine_wal.enabled: 启用时序数据 raft log 和 WAL 合并功能更多信息,参见实时参数。 注意:启用上述优化后,如果节点意外宕机,可能导致尚未落盘的数据丢失。 | 数据写入性能优于多副本集群,略弱于单节点部署; 简单场景下数据读取性能略弱于单节点部署,复杂场景下数据读取性能与多副本集群相同。 |
| 集群扩缩容 | 支持集群扩容和缩容,更多详细信息,参见集群扩缩容。 | 仅支持集群扩容,更多详细信息,参见集群扩缩容。 |
| 高可用性 | 支持高可用性,能够实现故障转移和数据强一致性。更多详细信息,参见集群高可用。 说明:延长时序数据 raft log 的落盘周期后,如果节点意外宕机,可能导致尚未落盘的数据丢失。 | 不支持高可用性。集群节点出现故障时,数据写入、查询和 DDL 操作可能失败;故障节点数超过集群节点总数的一半时,所有操作将会暂停。 |
| 数据均衡 | 支持集群扩缩容后的自动数据均衡。 | 不支持集群扩容后的自动数据均衡。 |
单节点部署与集群部署方式略有不同,单节点部署详细信息,参见单节点部署。
部署流程
部署准备
部署 KWDB 集群前,请根据部署准备检查待部署节点的硬件、操作系统、软件依赖和端口等是否满足要求。
集群部署
KWDB 集群部署提供多种方式,满足不同用户和场景的需求:
| 部署方式 | 特点 | 适用用户/场景 | 技术要求 | 支持环境 |
|---|---|---|---|---|
| 脚本部署(推荐) | 最简便的集群部署方式,内置故障检测和节点恢复机制 | 需要快速搭建测试或生产环境的用户 | 基本 Linux 操作经验 | 裸机、容器化 |
| Docker Run | 容器化技术部署 | 偏好容器化技术的用户 | 熟悉 Docker 命令行操作 | 容器化 |
| kwbase CLI | 支持深度定制部署过程 | 有技术背景、希望深度定制的用户 | 熟悉数据库部署流程和命令行操作 | 裸机 |
集群管理
- 如需停止或重启集群中的单个节点,参见启动与停止 KWDB 服务。
- 如需卸载集群,参见卸载 KWDB。