我试图使用SSTableLoader从Cassandra 2.1集群迁移表到Cassandra 3.11,而一些SStables成功加载后,我不断与其他人发生奇怪的错误。 我试图多次加载相同SSTables,有时我得到一个通用的Cassandra SStableLoader Streaming Error Broken pipe
java.util.concurrent.ExecutionException: org.apache.cassandra.streaming.StreamException: Stream failed
其他时间
org.apache.cassandra.io.FSReadError: java.io.IOException: Broken pipe
但是,如果我在SYSTEM.LOG检查我总是发现这样的错误:
java.lang.IllegalArgumentException: No column name component found in cell name
尝试搜索上面的错误,没有找到任何有用的细节。
我试着对2.x集群中的表进行nodetool修复,但几个小时后它看起来还没有完成。我会尝试使用nodetool scrub,但不知道这是否会导致数据丢失。
我无法将2.1节点升级到3.x,我将它们复制到3.11节点并尝试加载它们,如果我无法首先将它们导入到3.11中,如何升级sstables?我还在官方文档中发现了这一点: 仅在Cassandra 3.0.5和更高版本中支持在Cassandra 3.0之前的版本中创建的SSTable的批量加载。这表明应该支持导入,并且确实可以导入一些sstable。 – UrVal
这是一个更新,我成功地从一个数据库装载了超过50个sstables到另一个数据库,它只是2个列存储区给出了这个错误,而不是所有的sstables,只是其中的大部分。 – UrVal