2012-02-06 159 views
1

我是Hadoop的新手,并尝试使用cygwin将其安装在我的Windows 7(x64)PC上。 我跟着这个教程安装http://alans.se/blog/2010/hadoop-hbase-cygwin-windows-7-x64/#software需要帮助安装hadoop

这一切步骤之前去正确的 -

Only Hadoop 0.21.0: Next, one line has to be added to the hadoop-config.sh file in hadoop-0.21.-0/bin 

    CLASSPATH=`cygpath -wp "$CLASSPATH"` 

Add this line before the line containing 

    JAVA_LIBRARY_PATH='' 

该订单 CLASSPATH = cygpath -wp "$CLASSPATH"需要被复制,因为它是什么?

因为我试图运行下面的命令。

$ bin/hadoop namenode -format 

我cygwin的版本得到这样的错误

/usr/local/hadoop-0.21.0/bin/hadoop-config.sh: line 15: $'\r': command not found 
/usr/local/hadoop-0.21.0/bin/hadoop-config.sh: line 19: $'\r': command not found 
/usr/local/hadoop-0.21.0/bin/hadoop-config.sh: line 21: $'\r': command not found 
/usr/local/hadoop-0.21.0/bin/hadoop-config.sh: line 75: syntax error near unexpected token `$'in\r'' 
'usr/local/hadoop-0.21.0/bin/hadoop-config.sh: line 75: `case "`uname`" in 
DEPRECATED: Use of this script to execute hdfs command is deprecated. 
Instead use the hdfs command for it. 

HDFS not found. 

任何人都可以解释什么错误?

+0

你尝试使用推荐的命令?你的'$ CLASSPATH'是什么? – 2012-02-06 18:44:44

+0

@DaveNewton:教程中提到了类似这样的内容...... 原因是为了使用所有Hadoop罐(line〜120〜〜200)构建CLASSPATH,路径需要位于Cygwin格式(/ cygdrive/c/cygwin/usr/local/hadoop ...),但是为了让Java使用类路径,它需要使用Windows格式(c:\ cygwin \ usr \ local \ hadoop ..)。该行将Cygwin构建的类路径转换为Windows可以理解的类路径。 这是什么意思? – 2012-02-07 06:08:13

回答

0

您正在使用不建议使用的命令。有关hadoop命令的列表,请在控制台上输入hadoop。我认为该命令是Hadoop的NameNode的-format

+0

呃...这是OP运行的命令。 – 2012-02-06 21:18:26

+0

@DaveNewton:那是我困惑的地方...这段代码中的CLSSPATH = cygpath -wp“$ C​​LASSPATH” 我应该在Windows中通过替换$ CLASSPATH和cygwin中的hadoop路径来替代cygpath来写入hadoop文件夹的路径? – 2012-02-07 05:54:47

+0

@sid:我正在使用您提到的相同命令 – 2012-02-07 05:59:46

0

我用的cygwin 1.7也得到了这些错误:

/usr/local/hadoop-0.21.0/bin/hadoop-config.sh:第15行: $'\ r':命令 找不到

看来这些文件不是以DOS CR/LF格式而不是预期的UNIX格式。

您可以用Notepad ++之类的文本编辑器来确认。在窗口的右下角,可以说Dos \ Windows(很可能你会看到)或者UNIX。

要解决这些错误,在cygwin窗口中,我根据需要在bin文件夹和其他文件夹(conf等)中使用了命令dos2unix * .sh。

希望这可以帮助你!

0

使用dos2unix 文件名(shell命令)将d build中需要的config.sh文件或任何配置文件转换为unix格式。看起来文件默认更改为DOS格式。使用(dos2unix ./*)shell命令更好地将d文件夹中的每个文件转换为unix。