您的位置:首页 > 运维架构 > Apache

java:5: error: package org.apache.hadoop.conf does not

2015-07-04 12:12 1046 查看

异常描述

产生于:javac wordcount.java

编译mapreduce编译中

异常提示

WordCount.java:4: error: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configuration;
^
WordCount.java:5: error: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path;
^
WordCount.java:6: error: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.IntWritable;
^
WordCount.java:7: error: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.Text;
^
WordCount.java:8: error: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.Job;
^
WordCount.java:9: error: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.Mapper;
^
WordCount.java:10: error: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.Reducer;
^
WordCount.java:11: error: package org.apache.hadoop.mapreduce.lib.input does not exist
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
^
WordCount.java:12: error: package org.apache.hadoop.mapreduce.lib.output does not exist
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
^
WordCount.java:13: error: package org.apache.hadoop.util does not exist
import org.apache.hadoop.util.GenericOptionsParser;
^
WordCount.java:38: error: cannot find symbol
public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable>


问题原因:

您使用的是jdk,Javac编译MapRedce,他肯定不含Hadoop的依赖包!对么。


解决方案:

export CLASSPATH=
.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export CLASSPATH=
.:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.2.0:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar:$CLASSPATH


注意:

1: 注意包路径,注意版本。
2: 新窗口并不会加载classpath。
3:更改后刷新文件:source /etc/profile
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: