java - Cassandra InvalidRequestException(为什么 :[MyKeyspace][MyColumnFamily][6675. ..6c74] = [6c86......e65720] 验证失败(字符串未验证。))

标签 java hadoop mapreduce cassandra

我将 Cassandra 与 Hadoop 一起用于输入和输出。在输出减少作业期间,我得到一个错误:

2011-08-10 03:54:04,326 WARN org.apache.hadoop.mapred.Child: Error running child
java.io.IOException: InvalidRequestException(why:[MyKeyspace][MyColumnFamily][66756c6c74657874] = [6c696e6bb66e68656974207a756d.................65697465726520536f6e67746578746520] failed    validation (String didn't validate.))
at org.apache.cassandra.thrift.Cassandra$batch_mutate_result.read(Cassandra.java:19045)
at org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:1035)
at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:1009)
at   org.apache.cassandra.hadoop.ColumnFamilyRecordWriter$RangeClient.run(ColumnFamilyRecordWriter.java:285)
2011-08-10 03:54:04,339 INFO org.apache.hadoop.mapred.Task: Runnning cleanup for the task
2011-08-10 03:54:04,340 WARN org.apache.hadoop.io.UTF8: truncating long string: 267364 chars, starting with java.io.IOException:

根据日志,这不是一开始发生的,而是在成功合并、排序和处理8981个key之后发生的。在第 8982 次失败。

已在 google 和 stackoverflow 上搜索过,但没有找到。

列族是这样的:

create column family MyColumnFamily with comparator = UTF8Type and                                                                                        
key_validation_class=UTF8Type and 
column_metadata = 
[
{column_name: column1, validation_class: UTF8Type, index_type: 0},
{column_name: column2, validation_class: UTF8Type, index_type: 0},
{column_name: column3, validation_class: UTF8Type, index_type: 0}
];

提前致谢!

最佳答案

这意味着您的其中一个列值实际上不是有效的 UTF8 编码字符串。消息中的第一个十六进制字符串是以字节为单位的列名,第二个是无法解码的字节。

关于java - Cassandra InvalidRequestException(为什么 :[MyKeyspace][MyColumnFamily][6675. ..6c74] = [6c86......e65720] 验证失败(字符串未验证。)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008498/

相关文章:

hadoop - Hadoop Reducer提供了可写的值.Next()返回?

java - 如何为多包类运行MapReduce

hadoop - cassandra.input.split.size 未反射(reflect)在 DSE3.2.4 Hadoop 中

nosql - 具有离线副本的 DBMS + 高级安全性 + 查询

java - 无法在 Selenium Java 中找到图像 xpath

java - 在 mac os 上从源代码编译 Hadoop Native 库

java - 使用 https 时 Wicket 不正确的可 Collection 页面 url

java - 如何告诉 MapReduce 使用多少个映射器?

java - 有没有办法将 DatagramSocket 绑定(bind)到特定网卡上的任何端口,或者如果我指定网卡,我必须指定端口?

java - 关于 IntelliJ 到 Eclipse 转换的问题