作业跟踪器的未知协议

时间:2013-09-24 15:59:35

标签: hadoop datastax-enterprise

我试图在DataStax 3.1中运行Haddoop mapreduce作业并收到此错误。关于什么是原因的任何想法?

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

1 个答案:

答案 0 :(得分: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 Documentation

中找到更多信息
相关问题