当我配置HBase,遇到一个我无法找到线索的bug

时间:2012-09-30 05:16:04

标签: hbase

当我配置HBase时,我遇到了这个bug,我认为该bug存在于:

distMode=`$bin/hbase --config "$HBASE_CONF_DIR" org.apache.hadoop.hbase.util.HBaseConfTool hbase.cluster.distributed`

所以我将echo "alert(4)"添加到hbase的头部,但我找不到alert(4)

start-hbase.sh(片段)

echo "alert(1)"

#start hbase daemons
errCode=$?
if [ $errCode -ne 0 ]
then
  exit $errCode
fi

echo "alert(1.5)"
echo $HBASE_CONF_DIR
echo org.apache.hadoop.hbase.util.HBaseConfTool
echo hbase.cluster.distributed

distMode=`$bin/hbase --config "$HBASE_CONF_DIR" org.apache.hadoop.hbase.util.HBaseConfTool hbase.cluster.distributed`

echo "alert(2)"
echo $distMode

系统打印

bob1@master:~$ hbase-0.94.0/bin/start-hbase.sh 
START_JAVA_HOME
alert(1)
alert(1.5)
/home/bob1/hbase-0.94.0/conf
org.apache.hadoop.hbase.util.HBaseConfTool
hbase.cluster.distributed
Exception in thread "main" java.lang.NoClassDefFoundError: /usr/lib/jvm/java-6-sun-1/6/0/24
Caused by: java.lang.ClassNotFoundException: .usr.lib.jvm.java-6-sun-1.6.0.24
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: /usr/lib/jvm/java-6-sun-1.6.0.24.  Program will exit.
alert(2)

3 个答案:

答案 0 :(得分:1)

导出HBASE_HOME = / PATH_TO_INSTALL / hbase-0.95.2-hadoop2 /

在开始HBase之前

答案 1 :(得分:0)

请检查您的/home/bob1/hbase-0.94.0/conf/hbase-env.sh文件。

它有以下选项为您的HBase环境设置JAVA_HOME。

# The java implementation to use. Java 1.6 required. export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24

还要在.profile文件中设置JAVA_HOME。

答案 2 :(得分:-1)

尝试配置您的默认jdk。

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.6.0_16/bin/java 300 //the second param is the java path of jdk you setup and want to use
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.6.0_16/bin/javac 300
sudo update-alternatives --config java 
sudo update-alternatives --config javac 

按照说明选择jdk为默认值。