4

以下を使用して、cloudera が提供するサンプル jar を使用して alluxio で wordcount を実行できます。

sudo -u hdfs hadoop jar /usr/lib/hadoop-0.20-mapreduce/hadoop-examples.jar wordcount -libjars /home/nn1/alluxio-1.2.0/core/client/target/alluxio-core-client-1.2.0-jar-with-dependencies.jar alluxio://nn1:19998/wordcount alluxio://nn1:19998/wc1

そして成功です。

しかし、添付コードで作成した jar を使用すると実行できません。これもサンプルの wordcount サンプル コードです。

sudo -u hdfs hadoop jar /home/nn1/HadoopWordCount-0.0.1-SNAPSHOT-jar-with-dependencies.jar edu.am.bigdata.C45TreeModel.C45DecisionDriver -libjars /home/nn1/alluxio-1.2.0/core/client/target/alluxio-core-client-1.2.0-jar-with-dependencies.jar alluxio://10.30.60.45:19998/abdf alluxio://10.30.60.45:19998/outabdf

上記のコードは、maven Pom.xml ファイルを使用してビルドされています。

 <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-core</artifactId>
    <version>2.6.0-mr1-cdh5.4.5</version>
     </dependency>
     <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.6.0-cdh5.4.5</version>
     </dependency>

alluxio クラスターで wordcount プログラムを実行するのを手伝ってくれませんか。同じものを実行するためにpomファイルに追加の構成が追加されないことを願っています。

jar を実行した後、次のエラーが発生します。

java.lang.IllegalArgumentException: 間違った FS: alluxio://10.30.60.45:19998/outabdf、予期される: hdfs://10.30.60.45:8020 at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:657) ) org.apache.hadoop.hdfs.DistributedFileSystem.getPathName(DistributedFileSystem.java:194) で org.apache.hadoop.hdfs.DistributedFileSystem.access$000(DistributedFileSystem.java:106) で org.apache.hadoop.hdfs.DistributedFileSystem $19.doCall(DistributedFileSystem.java:1215) at org.apache.hadoop.hdfs.DistributedFileSystem$19.doCall(DistributedFileSystem.java:1211) at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1211) at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1412) at edu.WordCount.run(WordCount.java:47) で org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) で edu.WordCount.main(WordCount.java:23) で sun.reflect.NativeMethodAccessorImpl.invoke0 (ネイティブ メソッド) (sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) で) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で java.lang.reflect.Method.invoke(Method.java:601) で) org.apache.hadoop.util.RunJar.run(RunJar.java:221) で org.apache.hadoop.util.RunJar.main(RunJar.java:136) でorg.apache.hadoop.util.RunJar で java.lang.reflect.Method.invoke(Method.java:601) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で (NativeMethodAccessorImpl.java:57) を呼び出す.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136)org.apache.hadoop.util.RunJar で java.lang.reflect.Method.invoke(Method.java:601) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で (NativeMethodAccessorImpl.java:57) を呼び出す.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

4

1 に答える 1