使用 cassandra 对 hadoop-2.2.0 运行 piglatin 脚本时出错

Posted

技术标签:

【中文标题】使用 cassandra 对 hadoop-2.2.0 运行 piglatin 脚本时出错【英文标题】:Error while running piglatin script against hadoop-2.2.0 using cassandra 【发布时间】:2014-01-20 11:03:05 【问题描述】:

我正在尝试在 hadoop-2.2.0 中使用 pig 对存储在 cassandra 中的数据执行 mapreduce。我可以在 pig 本地模式下运行脚本,但我无法在 mapreduce 模式下运行。请帮我解决它。请查找堆栈跟踪以获取更多信息。

原因:java.lang.IncompatibleClassChangeError: 找到接口 org.apache.hadoop.mapreduce.JobContext,但需要类 错误 pigstats.SimplePigStats: 错误: org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException: 具有 id 'application_1390194645126_0008' 的应用程序在 RM 中不存在。 原因:java.lang.IncompatibleClassChangeError: 找到接口 org.apache.hadoop.mapreduce.JobContext,但在 org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:103) 上应该有类

【问题讨论】:

【参考方案1】:

Cassandra 源代码树尚不支持 Hadoop-2 (YARN) 接口(请参阅问题 CASSANDRA-5201)。根据该问题中的活动,看起来这将很快得到解决。与此同时,有一些work done out of tree to support YARN 可能对您有用。或者您可以使用 Hadoop-1.x。

【讨论】:

以上是关于使用 cassandra 对 hadoop-2.2.0 运行 piglatin 脚本时出错的主要内容,如果未能解决你的问题,请参考以下文章

鲲鹏arrch64系统编译安装Hadoop3.2.2

Cassandra - HDD 与 SSD 的使用对吞吐量没有影响

Cassandra 如何对静态列族进行排序

使用 cassandra 对 hadoop-2.2.0 运行 piglatin 脚本时出错

在 cassandra 中使用可能的空值对嵌套数据进行建模

使用 Cassandra 作为事件存储