3

我已经使用 Cygwin 终端在 Windows 上从 Apache 安装了 Hadoop 版本 2.1 beta。运行命令hadoop version让我收到此错误:

Error: Could not find or load main class org.apache.hadoop.util.VersionInfo
4

3 回答 3

10

您还可以将以下内容添加到您的 ~/.bashrc

export HADOOP_CLASSPATH=$(cygpath -pw $(hadoop classpath)):$HADOOP_CLASSPATH

这为我解决了

于 2014-01-03T19:57:55.923 回答
3

尝试在 windows 2008 Server Sp1 64bit 上安装 Hadoop 2.2.0 时遇到了同样的问题。

我已经安装了 cygwin64 并配置了 openssh。

user2870991 的答案对我有用。修改 \hadoop\bin\hadoop 脚本如下,注释原来的 exec 行并插入新的。

  #exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"
  #add the -claspath "$(cygpath -pw "$CLASSPATH")" TO FIX the script running in cygwin
  exec "$JAVA" -classpath "$(cygpath -pw "$CLASSPATH")" $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"
于 2013-12-16T07:08:27.237 回答
3

在 hadoop-config.sh @ line no 285 中添加以下语句

CLASSPATH=`cygpath -wp "$CLASSPATH"`

//Comments goes here

if [ "$HADOOP_CLASSPATH" != "" ]; then
  # Prefix it if its to be preceded
  if [ "$HADOOP_USER_CLASSPATH_FIRST" != "" ]; then
    CLASSPATH=${HADOOP_CLASSPATH}:${CLASSPATH}
  else
    CLASSPATH=${CLASSPATH}:${HADOOP_CLASSPATH}
  fi
fi

输出 :

admin@admin-PC /cygdrive/e/hadoop/hadoop-2.2.0/bin
$ ./hadoop version
Hadoop 2.2.0
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4
This command was run using /E:/hadoop/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar
于 2013-12-28T07:23:05.307 回答