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

发布于 2024-11-28 20:17:02 字数 1559 浏览 0 评论 0原文

我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

汐鸠 2024-12-05 20:17:03

这意味着您的列值之一实际上不是有效的 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文