Hadoop を使用する Java プログラムを作成しました。「java -jar prog.jar」を使用してコマンド ラインからプログラムを実行すると、スタンドアロン モードで実行されることがわかります。プログラムを正常に実行するために、JobTracker デーモンと TaskTracker デーモンを実行する必要がないため、そのことがわかります。「hadoop jar prog.jar」を使用して (map/reduce デーモンをオフにして) プログラムを実行すると、当然動作しません。
Java プログラムを疑似分散モードで実行したいのですが、設定ファイルが見つからないような気がします。設定ファイルがある場所を指すために「java -cp /usr/hadoop-1.1.1/conf -jar prog.jar」として実行しようとしましたが、まだダイスはありません。
クラスパスが間違っているか何かのような気がします。私は初心者なので、どんな助けも大歓迎です。ありがとう、
mj
これは、構成オブジェクトを使用してコードを開始するジョブのスニペットです。
Configuration config = new Configuration();
Job job = new Job(config);
job.setJobName("Test");
job.setJarByClass(MyMapper.class);
job.setMapperClass(MyMapper.class);
job.setReducerClass(MyReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
job.setMapOutputKeyClass(LongWritable.class);
job.setMapOutputValueClass(Text.class);
job.setInputFormatClass(MyInputFormat.class);
FileInputFormat.addInputPath(job, new Path("hdfs://hadoop0.hq.net:54310/" + saFileName));
FileOutputFormat.setOutputPath(job, new Path("hdfs://hadoop0.hq.net:54310/" + saFileName + "-output"));
job.waitForCompletion(true);