0

我正在尝试在 DataStax 3.1 中运行 Hadoop mapreduce 作业并收到此错误。关于原因的任何想法?

引起:org.apache.hadoop.ipc.RemoteException:java.io.IOException:作业跟踪器的未知协议:org.apache.hadoop.mapred.JobTracker.getProtocolVersion(JobTracker)上的 org.apache.hadoop.hdfs.protocol.ClientProtocol .java:347) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcc

4

1 回答 1

1

引用 Hadoop 源文档:

org.apache.hadoop.hdfs.protocol.ClientProtocol用户代码通过org.apache.hadoop.hdfs.DistributedFileSystem类使用它与 NameNode 进行通信。

DSE 不附带 NameNodes 或 DataNodes - 它们是 Apache Hadoop HDFS 的一部分,在 DSE 中它们已被 Cassandra 文件系统取代。

堆栈跟踪表明您正在使用 HDFS 协议连接到 JobTracker 节点,这表明您错误地汇总了您的作业。

使用 DSE,您应该通过调用以下命令提交您的 M/R 作业:

dse hadoop jar <your M/R jar file> <your M/R main class> [args]

并访问 Cassandra 文件系统:

dse hadoop fs <file system command> [args]

您可以在DSE Hadoop 文档中找到更多信息。

于 2013-09-25T07:48:49.477 回答