部署启用 Remote WAL 的 GreptimeDB 集群
本指南将介绍如何在 Kubernetes 集群中部署启用了 Remote WAL(远程写前日志)的 GreptimeDB。在开始之前,建议先阅读 部署 GreptimeDB 集群 文档。
前置条件
所需依赖
在部署启用了 Remote WAL 的 GreptimeDB 之前,请确保元数据存储和 Kafka 集群已经部署完成,或者已准备好可用的实例:
Remote WAL 配置
NOTE
chart 版本之间的配置结构已发生变化:
- 旧版本:
meta.etcdEndpoints
- 新版本:
meta.backendStorage.etcd.endpoints
请参考 chart 仓库中配置 values.yaml 以获取最新的结构。
本示例假设你已经部署了一个 Kafka 集群,运行在 kafka-cluster
命名空间中,并且一个 etcd 集群运行在 etcd-cluster
命名空间中。values.yaml
文件如下:
meta:
backendStorage:
etcd:
endpoints: "etcd.etcd-cluster.svc.cluster.local:2379"
configData: |
[wal]
provider = "kafka"
replication_factor = 1
topic_name_prefix = "gtp_greptimedb_wal_topic"
auto_prune_interval = "300s"
datanode:
configData: |
[wal]
provider = "kafka"
overwrite_entry_start_id = true
remoteWal:
enabled: true
kafka:
brokerEndpoints: ["kafka.kafka-cluster.svc.cluster.local:9092"]
部署 GreptimeDB 集群
你可以使用以下命令部署 GreptimeDB 集群:
helm upgrade --install mycluster \
--values values.yaml \
greptime/greptimedb-cluster \
-n default
最佳实践
- 不要在已部署的集群中切换 WAL 存储类型. 如果需要将 WAL 存储从本地更换为远程,必须 删除整个集群并重新部署,包括:
- 删除集群使用的所有 PersistentVolumeClaims(PVCs)
- 清空对象存储中的集群目录
- 删除或清理使用的元数据存储
- 建议先使用一个最小可行部署来验证集群是否运行正常,例如执行建表和插入数据等基本操作,确保数据库正常工作。
后续步骤
- 请参考 部署 GreptimeDB 集群 指南访问你的 GreptimeDB 集群。
- 请参考 快速开始 指南创建表并写入数据。
- 请参考 Remote WAL 配置 了解更多关于 Remote WAL 配置的信息。