作业跟踪器的未知协议

o4tp2gmn  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(312)

我正试图在DataStax3.1中运行HadoopMapReduce作业,并出现此错误。你知道是什么原因吗?
由以下原因引起:org.apache.hadoop.ipc.remoteexception:java.io.ioexception:作业跟踪器的未知协议:org.apache.hadoop.hdfs.protocol.clientprotocol位于org.apache.hadoop.mapred.jobtracker.getprotocolversion(作业跟踪器)。java:347)位于sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)sun.reflect.nativemethodaccessorimpl.invoke(nativemethodacc)

qkf9rpyu

qkf9rpyu1#

引用hadoop源文档: org.apache.hadoop.hdfs.protocol.ClientProtocol 由用户代码通过 org.apache.hadoop.hdfs.DistributedFileSystem 类与namenode通信。
dse不附带namenodes和datanodes—它们是ApacheHadoopHDFS的一部分,在dse中,它们已被cassandra文件系统所取代。
stacktrace表示您正在使用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文档中找到更多信息。

相关问题