cassandra - 在kubernetes中维护复制的数据库

标签 cassandra google-cloud-storage kubernetes cassandra-2.0 persistent-storage

我已经复制了cassandra数据库,并想知道维护其数据的最佳方法。

目前,我正在使用kubernetes emptyDir作为Cassandra容器卷。

  • 我可以将Google的Persistent磁盘用于复制的cassandra db pod吗?
  • 如果我有3个cassandra节点,其中一个失败/破坏了,那么Google的Persistent disks数据将如何处理?
  • 如果所有3个节点都发生故障,我是否仍可以将db数据从Google的持久性磁盘填充到旋转的新Pod中?
  • 如何备份google永久磁盘中的db数据?
  • 最佳答案

    我将按照相同的顺序回答您的问题:

    1:您可以将Google的永久磁盘用于主Cassandra节点,然后所有其他cassandra副本将仅使用其本地emptyDir。

    2:在部署到云中时,期望实例是短暂的,并且可能随时死亡。 Cassandra旨在在整个集群上复制数据以促进数据冗余,因此在实例死亡的情况下,实例上存储的数据不会复制,并且集群可以通过将数据重新复制到其他正在运行的节点来使用react。您可以使用DaemonSet在Kubernetes集群中的每个节点上放置一个Pod,这将给您带来数据冗余。

  • 是否可以在此处提供更多信息?新 pod 将如何旋转?
  • 拍摄磁盘快照,或将epmtyDir与sidecar容器一起使用,以便定期对目录进行快照并将其上载到Google Cloud Storage。
  • 关于cassandra - 在kubernetes中维护复制的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37292586/

    相关文章:

    cassandra - cassandra 中的节点是什么意思?

    android - 使用 gsutil 和服务帐户下载应用评论

    kubernetes - Kubernetes 上的 EventStore : Connection refused

    Cassandra:为用户、角色和权限设计数据模型

    java - NoNodeAvailableException : No node was available to execute the query

    python - AttributeError ("module ' apache_beam.io.gcp.internal.clients.storage'没有属性 'StorageV1'“)

    python - 添加 python 模块 google-cloud-storage 导致正在运行的 Azure Function App 崩溃

    kubernetes - helm chart : Include multiple lines from values. yaml 到 configmap

    kubernetes - 无法运行kube-apiserver --enable-admission-plugins = DefaultStorageClass

    mongodb - 所有NoSQL框架都使用Hadoop文件系统吗?