概述
集群类型
KaiwuDB 支持以下集群部署类型:
| 类别 | 多副本集群 | 单副本集群 |
|---|---|---|
| 定义 | KaiwuDB 在同一机房的多个节点上运行,每份数据默认有 3 份副本,且副本分布在不同节点上。 | KaiwuDB 在同一机房的多个节点上运行,整个集群只有一份数据副本,所有数据的存储和更新操作都由该副本负责。 |
| 性能 | 数据写入性能弱于单节点部署和单副本集群; 简单场景下数据读取性能略弱于单节点部署,复杂场景下数据读取性能与单副本集群相同。 提示: 多副本集群可通过以下参数优化写入性能: - ts.raft_log.sync_period: 延长时序数据 raft log 的落盘周期- ts.raftlog_combine_wal.enabled: 启用时序数据 raft log 和 WAL 合并功能更多信息,参见实时参数。 注意:启用上述优化后,如果节点意外宕机,可能导致尚未落盘的数据丢失。 | 数据写入性能优于多副本集群,略弱于单节点部署; 简单场景下数据读取性能略弱于单节点部署,复杂场景下数据读取性能与多副本集群相同。 |
| 集群扩缩容 | 支持集群扩容和缩容,更多详细信息,参见集群扩缩容。 | 仅支持集群扩容,更多详细信息,参见集群扩缩容。 |
| 高可用性 | 支持高可用性,能够实现故障转移和数据强一致性。更多详细信息,参见集群高可用。 说明:延长时序数据 raft log 的落盘周期后,如果节点意外宕机,可能导致尚未落盘的数据丢失。 | 不支持高可用性。集群节点出现故障时,数据写入、查询和 DDL 操作可能失败;故障节点数超过集群节点总数的一半时,所有操作将会暂停。 |
| 集群升级 | - 2.0.4 及以上版本:支持在线升级至 2.x 更高版本;升级至 3.0.0 需通过导入导出方式。 - 2.0.4 以下版本:仅支持通过导入导出方式升级至 2.x 更高版本或 3.0.0。 | 支持 2.1.0 及以上版本离线升级至2.x 更高版本;升级至 3.0.0 需通过导入导出方式。 |
| 数据均衡 | 支持集群扩缩容后的自动数据均衡。 | 不支持集群扩容后的自动数据均衡。 |
单节点部署与集群部署方式略有不同,单节点部署详细信息,参见单节点部署。
部署流程
部署准备
部署 KaiwuDB 集群前,请根据部署准备检查待部署节点的硬件、操作系统、软件依赖和端口等是否满足要求。
集群部署
KaiwuDB 集群部署提供多种方式,满足不同用户和场景的需求:
| 部署方式 | 特点 | 适用场景 | 技术要求 | 支持环境 |
|---|---|---|---|---|
| 安装程序 — 命令行模式 | 无需额外依赖,数字输入即可操作,内置参数校验,菜单逐步引导完成安装 | 需要稳定快速上线的用户 | 熟悉基本 Linux 操作 | 裸机、容器化 |
| 安装程序 — 终端图形交互模式 | 字符界面下的图形化交互体验,提供复选框、输入框、进度条等操作组件 | 偏好字符界面交互的用户 | 熟悉基本 Linux 操作 | 裸机、容器化 |
| 安装程序 — 可视化 GUI 模式 | 可视化图形界面,支持鼠标操作,表单填写即可完成配置 | 初学者或偏好图形化操作的用户 | 熟悉基本 Linux 操作,需图形化桌面环境 | 裸机、容器化 |
| kwbase CLI | 支持精细化控制和深度定制 | 有定制化需求的场景 | 熟悉数据库部署与命令行操作 | 裸机 |
| Docker Run | 使用 docker run 命令直接运行容器 | 快速搭建测试或验证环境的场景 | 熟悉 Docker 命令行 | 容器化 |
集群管理
- 如需停止或重启集群中的单个节点,参见启动与停止 KaiwuDB 服务。
- 如需卸载集群,参见卸载 KaiwuDB。