当前位置: 首页 > 知识库问答 >
问题:

Apache Cassandra 3.11. x克隆键空间

严繁
2023-03-14

我们正在与Apache Cassandra 3.11合作,我们正在努力为DR情况做准备。例如,我们有两个通过快照备份的密钥空间。例如,通过Ansible:

- name: Create snapshots
  shell: "nodetool snapshot --tag {{ item.tag }} {{ item.name }}"
  loop: "{{ keyspaces }}"

现在,如果我们必须创建一个新集群并使用这些快照,根据我们的理解,我们需要执行以下操作:

  • 创建新集群 (3)
  • 创建密钥空间
  • 通过快照架构.cql 还原每个表
  • 使用稳定加载器

每个节点(只有2个,第三个节点没有快照),然后

    < li >节点工具修复

每个节点

可以在此处找到对该路径的引用

但是,表已加载,但数据是重复的,在我们的例子中,因为我们只有两个节点有快照,而第三个节点没有快照(失败节点)。

我们在这里走正确的道路吗?我们尝试将快照数据复制到适当的目录并使用节点工具刷新 - 键空间表,但数据从未出现。

任何想法/帮助将不胜感激。

共有1个答案

洪浩
2023-03-14

就其价值而言,我将此操作称为克隆键空间或表。对我来说,术语“恢复”是模棱两可的,因为它可能意味着将数据恢复到与备份位置相同的节点。

如果要将快照恢复到与源群集配置相同的目标群集,则只能使用< code>refresh方法。我所说的“相同配置”是指:

    < li >集群拓扑是相同的-相同数量的DC,每个DC中相同数量的节点 < li >令牌分配是相同的-为一个群集中的每个节点分配的令牌是另一个群集中节点的镜像

如果集群相同,请遵循我在本文中记录的步骤——https://community.datastax.com/questions/4534/.

对于不同的集群,请按照我在这篇https://community.datastax.com/questions/4477/.后的文章中介绍的步骤进行操作。注意,如果目标集群与源集群不同,您将无法克隆提交日志,因为提交日志段中的分区键不一定与节点拥有的令牌匹配。干杯!

 类似资料:
  • 我在日食中面临着一个常见但令人恼火的问题。我只是想用eclipseLink运行这个查询: List organizationUnitEntityList=entityManager。createQuery(“从OrganizationUnitEntity o中选择o,其中o.unitId=?1”)。setParameter(1,userTypeDomain.getUnitId()。getResul

  • 主要内容:示例在某些情况下,您可能需要一个表的完整、精确副本,也即克隆表(复制表)。我们首先想到的是使用 CREATE TABLE 命令创建一张新表,然后使用 SELECT 命令从旧表中选取所有数据,并使用 INSERT 命令插入到新表中。但是这种做法可能达不到您的目的,因为副本必须包含相同的索引、约束、默认值等。 如果您使用 MySQL 数据库,可以借助 SHOW CREATE TABLE 命令,该命令用来展

  • 应用克隆 (用于已有服务,需要在另一个业务线下创建一个同样的服务,不需要重新创建) 服务/环境克隆(菜单栏:工具集->服务/环境克隆) 点击菜单栏,在项目列表中筛选您要克隆的项目,然后点击 克隆 ,弹框中选择您要克隆到哪个业务线。 选择目录空间,系统为在目标空间下生成该应用所需要的所有类型资源和Jenkins Job。

  • HackerNews 克隆是基于 HN 的官方 firebase API 、Vue 2.0 、vue-router 和 vuex 来构建的,使用服务器端渲染。 Live Demo 注:如果在一段时间内没有人访问过该网站,则需要一些加载时间。 [Source] 特性 服务器端渲染 Vue + vue-router + vuex 服务端数据提前获取 客户端状态 & DOM 合并 单文件 Vue 组件

  • void cloneTable(String srcName, String destTable, boolean flushTable) 功能 克隆已存在的表,具有相同的TableSpec和表数据 方法参数 1.srcName : String : required 克隆的源表的表名 2.destTable : String : required 克隆的目标表的表名 3.flushTable :

  • 我们已经按照 ChineseTutorialInstall 安装了 Mercurial,对吗?很好! Mercurial 中,我们在 仓库 里做我们所有的工作。仓库是一个目录,它包含所有我们希望保留历史的源代码和这些源代码的历史记录。 最简单开始 Mercurial 的方法是使用一个已经包含文件和一些历史记录的仓库。 我们使用 clone 命令来做这个事情。 这生产一个仓库的Clone",它生成一