2013-09-24 119 views
0

我試圖在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) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcc

回答

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] 

並訪問卡桑德拉文件系統:

dse hadoop fs <file system command> [args] 

您可以找到DSE Hadoop Documentation的更多信息。