java - 无法编译 WordCount.java

标签 java javac cloudera word-count

mark@maestro1:/usr/lib/hadoop/wordcount_classes$ javac -classpath /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar:/usr/lib/hadoop/client/hadoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar -d /usr/lib/hadoop/wordcount_classes /usr/lib/hadoop/wordcount_classes/WordCount.java
/usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar(org/apache/hadoop/fs/Path.class):     
warning: Cannot find annotation method 'value()' in type 'LimitedPrivate': class file for org.apache.hadoop.classification.InterfaceAudience not found
/usr/lib/hadoop/wordcount_classes/WordCount.java:14: error: error while writing Map: could not create parent directories
public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {
            ^
1 error
1 warning

这个错误是怎么回事?我无法编译这个 wordcount.java 文件!

人们一直告诉我要正确设置我的 java 类路径。有人会对我如何处理这件事有任何评论吗?请帮忙!谢谢!

最佳答案

这个

-d /usr/lib/hadoop/wordcount_classes

表示您想要将类文件写入的位置。它是否正确 ?我怀疑您没有在那里写入的权限,因此:

error while writing Map: could not create parent directories

您可以在该目录中创建一个目录(提示:使用mkdir)吗?顺便说一句,我不认为 /usr/lib 目录是执行此操作的好地方,即使可以。我希望您在主目录中执行开发。

/usr 目录通常用于安装程序、库等,并且对普通用户有写限制。 man hier 很好地解释了 Unix 中使用的不同目录。

关于java - 无法编译 WordCount.java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12514867/

相关文章:

java - 断线组java api

java - @Inject 属性在 JSF 页面上显示为 "unknown property"

mysql - 从源代码构建 MySql JDBC 驱动程序时出错

java - ActionBarSherlock 有很多错误

hadoop - LEFT ONLY 加入 Pig (A - B)

java - JBoss 接缝 : are inherited methods intercepted?

java - 一个 Java Kafka Consumer 需要多少操作系统资源?

java - “javac”无法识别

hadoop - 我们可以在Cloudera Hadoop集群中将hbase.rpc.protection属性值设置为none吗?如果是,那怎么办?

hadoop - Cloudera无法识别主机