java - 无法将java文件编译为hadoop的类文件

标签 java hadoop hadoop2

我正在使用 hadoop 2.6.4 并尝试使用以下命令编译 java 文件:

javac -classpath $HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.4.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.4.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar -d class_files *.java

但是由于缺少 hadoop 包,这不是编译文件:

GraphSearch.java:28: error: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configured;
                         ^
GraphSearch.java:29: error: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path;
                       ^
GraphSearch.java:30: error: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.IntWritable;
                       ^
GraphSearch.java:31: error: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.LongWritable;
                       ^
GraphSearch.java:32: error: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.Text;
                       ^
GraphSearch.java:33: error: package org.apache.hadoop.mapred does not exist
import org.apache.hadoop.mapred.*;
^
GraphSearch.java:34: error: package org.apache.hadoop.util does not exist
import org.apache.hadoop.util.Tool;
                         ^
GraphSearch.java:35: error: package org.apache.hadoop.util does not exist
import org.apache.hadoop.util.ToolRunner;
                         ^
GraphSearch.java:52: error: cannot find symbol
public class GraphSearch extends Configured implements Tool {

尝试使用以下命令设置类路径,不确定是否正确:

export CLASSPATH=$CLASSPATH:/usr/local/hadoop/share/hadoop/common/hadoop-common-2.6.4.jar:$/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.4.jar:/usr/local/hadoop/share/hadoop/common/lib/commons-cli-1.2.jar

请帮忙!

最佳答案

试试这个:

export PATH=$PATH:$HADOOP_HOME/bin

javac -cp $(hadoop classpath) -d class_files *.java

简短而贴心,但请确保您已经设置了 HADOOP_HOME 环境变量。

关于java - 无法将java文件编译为hadoop的类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35929475/

相关文章:

java - 如何修改lwjgl默认绘图颜色

java - 从给定地址提取域名 Java RegEx

json - 在 Spark 或 Hive 中调用 get_json_object() 时无法获取值

hadoop - 配置单元 : getting parseexception in simple create external table query

hadoop-yarn - 在 HDP 升级后在 hadoop 集群中启动 Apache Twill 应用程序时 RequestHedgingRMFailoverProxyProvider 的 IllegalAccessError

java - 根据实际Codenameone的组件宽度计算首选高度(2)

java - OkHttp CookieJar 向请求添加 cookie 失败

hadoop - Yarn Terasort 对 7 和 14 个工作节点的执行时间相同

hadoop - 多个映射后跟一个使用 Hadoop 和 HBase 的 reduce

hadoop - 在 hadoop 2.2.0 上,我的数据节点无法启动