2013-03-12 77 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文件夹