我试图在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
答案 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]
中找到更多信息