cat
HDFSに保存されているファイルを作成しようとしています。「HadoopURLからのデータの読み取り」と「Hadoop:The DefinitiveGuide」のFileSystemAPIを使用したデータの読み取りの両方の見出しで提供されている方法を試しましたが、エラーが発生し続けます。
Error: Could not find or load main class <class_name>
誰かが私が間違っていることを指摘できますか?
cat
HDFSに保存されているファイルを作成しようとしています。「HadoopURLからのデータの読み取り」と「Hadoop:The DefinitiveGuide」のFileSystemAPIを使用したデータの読み取りの両方の見出しで提供されている方法を試しましたが、エラーが発生し続けます。
Error: Could not find or load main class <class_name>
誰かが私が間違っていることを指摘できますか?
ステップ1:Javaプログラムをコンパイルします。
javac URLCat.java -classpath $HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.0.jar
ステップ2:jarファイルを作成します:
jar cvf URLCat.jar URLCat.class
ステップ3:プログラムを実行する:( hdfsファイルの場所を記載)
hadoop jar URLCat.jar URLCat hdfs://localhost:9000/pcode/wcinput.txt
リンクのすべてのページを見ることができませんが、何が起こっているのかはわかっていると思います。このようなコマンドを実行しようとしています。
% hadoop URLCat <HDFS URL>
URLCat
発生するエラーは、Hadoopがクラスパスでクラスを見つけることができないことに関連しています。hadoop
コマンドファイルを編集URLCat
して、クラスパスに含めることができます。ただし、これはお勧めしません。
最良の方法は、クラスを内部に含むjarファイルを作成URLCat
し、次のコマンドでそれを呼び出すことです。
% hadoop jar <Path to Jar>/<Your Jar>.jar URLCat <HDFS URL>
jarの実行方法の詳細については、このブログ投稿をお読みください。