Cassandra InvalidRequestException(为什么:[MyKeyspace][MyColumnFamily][6675...6c74] = [6c86......e65720] 验证失败(字符串未验证。))
我使用 Cassandra 和 Hadoop 进行输入和输出。在输出reduce作业期间,我得到一个错误:
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个键之后发生的。第 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}
];
先谢谢您了!
I am using Cassandra with Hadoop for input and output. During the output reduce job, I got an error:
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:
According to the log, this happens not in the beginning, but after successful merging, sorting, and processing of 8981 keys. On 8982th it fails.
Have searched in google and on stackoverflow, but nothig found.
Column family is like this:
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}
];
Thank you in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这意味着您的列值之一实际上不是有效的 UTF8 编码字符串。消息中的第一个十六进制字符串是以字节为单位的列名称,第二个是无法解码的字节。
That means one of your column values was not actually a valid UTF8-encoded string. The first hex string in the message is the column name in bytes, and the second is the bytes that couldn't be decoded.