【发布时间】:2018-05-12 01:10:15
【问题描述】:
我一直在尝试使用 sstableloader 来恢复快照,虽然这样做没有任何异常,但我的新节点上没有恢复任何数据。
这是sstableloader -d newNodeIp keyspaceFolder的结果:
与初始主机建立连接
打开 sstables 和计算部分以流式传输
汇总统计:
每个主机的连接数:1
传输的文件总数:0
传输的总字节数:0.000KiB
总持续时间:2637 毫秒
平均传输速率:0.000KiB/s
峰值传输速率:0.000KiB/s
我尝试从备份来自的节点或另一个远程主机运行它,结果是相同的。
cassandra 版本是本文中最新的稳定版本 (3.11.1)。
源键空间和目标键空间具有相同的名称。
包含备份的文件夹的结构如下:
keyspaceName/table-uuid/
^ 每个文件夹都包含 sstable 文件。
这些文件夹都不包含子文件夹(没有备份/快照子文件夹)。
新节点上的相应文件夹名称相似(显然 uuid 除外)。
如果感兴趣,每个节点都是一个 docker 容器。
请说明为什么 sstableloader 无法恢复我的备份?
我用错了吗?
不要犹豫,指出任何缺失的信息。
【问题讨论】:
-
您在哪个文件夹中运行了 sstableloader?
-
@Horia 如果直接来自前一个节点,来自数据文件夹(因此 keyspaceFolder 是该节点上使用的那个)。如果从远程主机,我将备份提取到的文件夹,则备份的结构与节点上的一样。
-
添加表名,不仅仅是键空间
-
@Horia 谢谢,它确实在文档中,我的错误......我现在遇到了流问题(尝试连接到 newNodeIp:7000 时流失败,而我可以远程登录对 ip 和端口没问题),有什么想法吗?
-
我认为您应该提供有关此信息的更多信息并提出一个新问题。我会尝试的第一件事是在名称和 ip 之间进行更改以检查它是否有效。