2012-06-28 49 views
2

我下面這個教程http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/Hadoop的:通過NameNode會在Ubuntu格式化HDFS文件系統12.04

注:是的,我知道我沒有安裝Hadoop的到/ usr /本地/ Hadoop的/ Hadoop的/但教程不

當我運行:

[email protected]:~$ /usr/local/hadoop/hadoop/bin/hadoop namenode -format 

我得到

Warning: $HADOOP_HOME is deprecated. 

/usr/local/hadoop/hadoop/bin/hadoop: line 320: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory 
/usr/local/hadoop/hadoop/bin/hadoop: line 390: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory 

代替的

[email protected]:/usr/local/hadoop$ hadoop/bin/hadoop namenode -format 
10/05/08 16:59:56 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting NameNode 
STARTUP_MSG: host = ubuntu/127.0.1.1 
STARTUP_MSG: args = [-format] 
STARTUP_MSG: version = 0.20.2 
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches /branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010 
************************************************************/ 
10/05/08 16:59:56 INFO namenode.FSNamesystem: fsOwner=hduser,hadoop 
10/05/08 16:59:56 INFO namenode.FSNamesystem: supergroup=supergroup 
10/05/08 16:59:56 INFO namenode.FSNamesystem: isPermissionEnabled=true 
10/05/08 16:59:56 INFO common.Storage: Image file of size 96 saved in 0 seconds. 
10/05/08 16:59:57 INFO common.Storage: Storage directory .../hadoop-hduser/dfs/name has been successfully formatted. 
10/05/08 16:59:57 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1 
************************************************************/ 
代碼

用於在/ usr /本地/ Hadoop的/ Hadoop的/ bin中/ Hadoop的線320是:

JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m ${HADOOP_JAVA_PLATFORM_OPTS}   
org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"` 

和線路390:

exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "[email protected]" 

任何想法如何我可以解決這個問題?

回答

2

我有以下文件:/usr/lib/hadoop-0.20/bin/hadoop-config.sh(Cloudera的安裝)

在這裏我可以看到它在下列地點搜索的java:

# attempt to find java 
if [ -z "$JAVA_HOME" ]; then 
    for candidate in \ 
    /usr/lib/jvm/java-6-sun \ 
    /usr/lib/jvm/java-1.6.0-sun-1.6.0.*/jre/ \ 
    /usr/lib/jvm/java-1.6.0-sun-1.6.0.* \ 
    /usr/lib/j2sdk1.6-sun \ 
    /usr/java/jdk1.6* \ 
    /usr/java/jre1.6* \ 
    /Library/Java/Home \ 
    /usr/java/default \ 
    /usr/lib/jvm/default-java ; do 
    if [ -e $candidate/bin/java ]; then 
     export JAVA_HOME=$candidate 
     break 
    fi 
    done 

您的JAVA_HOME設置是否正確?你可以手動設置它,然後嘗試再次運行它。

[編輯:基於評論]

  1. 要檢查是否JAVA_HOME設置:echo $JAVA_HOME
  2. 找出你的JVM的位置,通常在:/usr/lib/jvm/java-6-sun/
  3. 然後進行設置。編輯的.bashrc和.bash_profile中:vi ~/.bashrcvi ~/.bash_profile
  4. 添加以下內容:export JAVA_HOME=/usr/lib/jvm/java-6-sun/
  5. 注意,路徑應根據在哪裏找到你的JVM。
+0

我只是編輯在/ usr /本地/ Hadoop的/ Hadoop的代碼/ bin/hadoop,以便查看正確的JDK。 – user1047260

+0

@ user1047260:檢查env變量 - echo $ JAVA_HOME。如果沒有,您將不得不設置它 – pyfunc

+0

@ user1047260:添加到我的回覆 – pyfunc

1

重置您的JAVA_HOME通過在文件中的hadoop加入這行來hadoop/bin(在指定的路徑以上),具有Java的目錄:

export JAVA_HOME=/home/hduser/jdk1.7.0_07 
相關問題