Cassandra SStableLoader Streaming Error断管

时间:2017-08-17 19:13:07

标签: cassandra

我正在尝试使用SSTableLoader将表从Cassandra 2.1集群迁移到Cassandra 3.11,并且在成功加载某些SStables时,我不断与其他人发生奇怪的错误。 我正在尝试重复加载相同的SSTables,有时我会得到一个通用的

  

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:找不到列名组件   单元名称

尝试搜索上述错误,但未找到任何有用的详细信息。

我在2.x集群中的表上尝试了nodetool修复,但几个小时后它看起来仍然没有完成。我会尝试使用nodetool scrub但不确定这是否会导致数据丢失。

1 个答案:

答案 0 :(得分:0)

问题是在Cassandra 3.0中sstable格式发生了变化,所以你不能只将2.1格式的sstables作为sstable格式流式传输到3.x节点。

官方(以及更好)的方式是首先需要将节点升级到较新的C *版本,然后运行nodetool upgradesstables -a