Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hadoop字数错误_Java_Hadoop_Mapreduce - Fatal编程技术网

Java Hadoop字数错误

Java Hadoop字数错误,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我正在关注此链接中的文档 当我尝试编译WordCount.java并创建一个jar时,我得到以下错误 bin/hadoop com.sun.tools.javac.Main WordCount.java Error: Could not find or load main class com.sun.tools.javac.Main 我已经在HADOOP-env.sh文件中验证了$JAVA_HOME和$HADOOP_类路径,还验证了我是否有jdk 以下是hadoop env.sh的内容 ex

我正在关注此链接中的文档

当我尝试编译WordCount.java并创建一个jar时,我得到以下错误

bin/hadoop com.sun.tools.javac.Main WordCount.java
Error: Could not find or load main class com.sun.tools.javac.Main
我已经在HADOOP-env.sh文件中验证了$JAVA_HOME和$HADOOP_类路径,还验证了我是否有jdk

以下是hadoop env.sh的内容

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/"
.......
.........
for f in $HADOOP_HOME/contrib/capacity-scheduler/*.jar; do
  if [ "$HADOOP_CLASSPATH" ]; then
    export HADOOP_CLASSPATH="$JAVA_HOME/lib/tools.jar"
  else
    export HADOOP_CLASSPATH=$f
  fi

我不确定错误背后的原因,或者我是否缺少另一个密钥配置?

这在该循环中没有意义。。。也不是先检查变量的存在性

if [ "$HADOOP_CLASSPATH" ]; then
  export HADOOP_CLASSPATH="$JAVA_HOME/lib/tools.jar"
else
您需要设置
HADOOP\u CLASSPATH=“$JAVA\u HOME/lib/tools.jar”
,如文档所述,才能找到该类。而该类仅在JDK中可用

但是,您可以运行
javac
命令来编译代码。我不知道为什么文档让你调用那个类

要创建jar,请执行以下操作:

$ jar -cvf WordCount.jar -C WordCount/ .
要运行:

$ hadoop jar WordCount.jar WordCount input/ output
建议请使用Maven/Gradle创建适当的JAR文件,并使用IDE编写代码


顺便说一句,实际上并没有多少人会写简单的MapReduce

@shmosel我确实遇到过这个问题,但还是不走运error@cricket_007只是跟着文件走
$ hadoop jar WordCount.jar WordCount input/ output