cassandra 2.2.4中的org.apache.cassandra.serializers.MarshalException异常

时间:2016-02-15 06:39:29

标签: cassandra cassandra-2.0 cqlsh

我们正在研究MySQL到Cassandra数据迁移。我们将MySQL数据转储为CSV格式并将其转换为Cassandra CSV并使用UTF-8编码。当我们导入Cassandra CSV时,它适用于一个集群。但是对于相同的CSV文件,它会在另一个集群中针对相同的Cassandra Version(2.2.4)

抛出异常
message="org.apache.cassandra.serializers.MarshalException: Invalid UTF-8 bytes 56bc71d9">
Aborting import at record #5. Previously inserted records are still present, and some records after that may be present as well.

它始终显示不同记录的异常。记录号和字节值不一致。

我们使用以下命令导入CSV文件

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static')

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]
# Media files
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
MEDIA_URL = '/media/'

我们检查了一些解决方案,但他们中的大多数已建议' ASSUME'命令。当我们使用Cassandra 2.2.4时,我们没有Cassandra-Cli来检查命令。

是否有任何建议可以检查问题或任何可能发生此问题的情况。

1 个答案:

答案 0 :(得分:1)

在我提交的cassandra lucene index 2.2.4.1中存在一个问题 他们已经解决了它 只需更新您的lucene索引代码
班级com.stratio.cassandra.lucene.service.RegularCellsMapper
在方法Columns columns(ColumnFamily columnFamily)中 在for (Cell cell : columnFamily) {

之后添加以下代码
if (!cell.isLive()) {
    continue;
}