2013-03-12 90 views
0

我正在嘗試設置Hadoop開發環境。我正在使用CDH4並按照其網站https://ccp.cloudera.com/display/CDH4DOC/中的安裝說明進行操作。hbase-master無法啓動

我已經到了能夠以僞分佈模式安裝CDH4的地步,我正在關注「需要額外配置的組件」部分。

我已經安裝了HBase的主包,但是當我嘗試啓動該服務,我收到以下錯誤:

$ sudo /sbin/service hbase-master start 
starting master, logging to /var/log/hbase/hbase-hbase-master-slc01euu.out 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
Could not find the main class: org.apache.hadoop.util.PlatformName. Program will exit. 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/io/Writable 

我suposse它有事情做了一些環境變量(我相信HADOOP_HOME )。但是我不確定在哪裏查看,因爲之前的所有流程(名稱節點,數據節點,作業跟蹤器,任務跟蹤器)都沒有問題。

當我搜索HADOOP_HOME變量時,它說它是未定義的。

你們有什麼想法可以解決這個問題嗎?

非常感謝。

+0

看看腳本啓動HBase的主和/或設置環境變量在你的shell中。或者在開始服務之前設置變量並檢查這是否是真正的問題。 – harpun 2013-03-12 21:43:28

+0

@ user2162926嘗試查看設置了「HADOOP_IN_PATH」的hbase腳本。如果你發出hadoop_,你會得到什麼? – 2013-03-13 12:13:14

+0

您是否使用Hadoop 2.2?我認爲這是一個類路徑問題(可能缺少一個jar的hadoop-core) – Ko2r 2014-07-31 15:21:37

回答

0

請設置HADOOP_HOME到你的Hadoop的安裝目錄 如:出口HADOOP_HOME =的/ usr/Hadoop的

的一個指針HADOOP_CONF_DIR添加到HBASE_CLASSPATH環境變量hbase-env.sh。

添加在HDFS-site.xml中(和核心的site.xml)下副本$ {} HBASE_HOME/conf文件夾