2012-02-06 240 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。