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(ネイティブ メソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcc) で

4

1 に答える 1

1

Hadoop ソース ドキュメントの引用:

org.apache.hadoop.hdfs.protocol.ClientProtocolorg.apache.hadoop.hdfs.DistributedFileSystemNameNode と通信するために、クラスを介してユーザー コードによって使用されます。

DSE には NameNode も DataNode も付属していません。これらは Apache Hadoop HDFS の一部であり、DSE では Cassandra File System に置き換えられています。

スタックトレースは、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 に答える