跳到主要内容
版本:Nightly

部署启用 Remote WAL 的 GreptimeDB 集群

本指南将介绍如何在 Kubernetes 集群中部署启用了 Remote WAL(远程写前日志)的 GreptimeDB。在开始之前,建议先阅读 部署 GreptimeDB 集群 文档。

前置条件

所需依赖

在部署启用了 Remote WAL 的 GreptimeDB 之前,请确保元数据存储和 Kafka 集群已经部署完成,或者已准备好可用的实例:

  • 元数据存储:请参考 管理元数据概述 了解更多详情。在本示例中,我们使用 etcd 作为元数据存储。
  • Kafka 集群:请参考 管理 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)
    • 清空对象存储中的集群目录
    • 删除或清理使用的元数据存储
  • 建议先使用一个最小可行部署来验证集群是否运行正常,例如执行建表和插入数据等基本操作,确保数据库正常工作。

后续步骤