2016-08-09 17 views
0

Windowsのeclipseで単純なHadoop Map reduceプログラムを実行しようとしています。 Iamは次の例外を受け取ります。スレッド "main"の例外java.io.IOException:クラスタを初期化できません

Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. 
at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:121) 
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:83) 
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:76) 
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1188) 
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1184) 
at java.security.AccessController.doPrivileged(Native Method) 
at javax.security.auth.Subject.doAs(Unknown Source) 
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 
at org.apache.hadoop.mapreduce.Job.connect(Job.java:1183) 
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1212) 
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1236) 
at com.hadoop.mapreduce.WordCountDriverClass.main(WordCountDriverClass.java:41) 

これは私がプロジェクトで追加したjarファイルです。

com.google.guava_1.6.0.jar 
commons-configuration-1.7.jar 
commons-lang-2.6.jar 
commons-logging-1.1.3.jar 
commons.collections-3.2.1.jar 
guava-13.0.1.jar 
hadoop-annotations-2.7.2.jar 
hadoop-auth-2.6.0.jar 
hadoop-common-2.3.0.jar 
hadoop-common.jar 
hadoop-mapreduce-client-core-2.0.2-alpha.jar 
hadoop-mapreduce-client-core-2.7.2.jar 
hadoop-mapreduce-client-jobclient-2.2.0.jar 
hadoop-test-1.2.1.jar 
log4j-1.2.17.jar 
slf4j-api-1.7.7.jar 
slf4j-simple-1.6.1.jar 

コンソールで例外メッセージを確認した後でjarファイルを追加しました。しかし、私はこの例外を理解できませんでした。 誰でもこの問題を解決するのに手伝ってください。

これは私のドライバクラスです。

 Configuration conf = new Configuration(); 

     // Creating a job 
     Job job = Job.getInstance(conf,"WordCountDriverClass"); 
     job.setJarByClass(WordCountDriverClass.class); 
     job.setMapperClass(WordCountMapper.class); 
     job.setReducerClass(WordCountReducer.class); 

     job.setNumReduceTasks(2); 
     job.setInputFormatClass(KeyValueTextInputFormat.class); 
     job.setOutputKeyClass(Text.class); 
     job.setOutputValueClass(IntWritable.class); 
     FileInputFormat.addInputPath(job, new Path("inputfiles")); 
     FileOutputFormat.setOutputPath(job, new Path("outputfiles")); 

     job.waitForCompletion(true); 

答えて

0

wordcountの例のように、1.2.1 hadoop-coreと2.2.0 hadoop-commonが必要です。代わりにMavenを使用する場合、設定は

<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-core</artifactId> 
    <version>1.2.1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-common</artifactId> 
    <version>2.2.0</version> 
</dependency> 
関連する問題