我正在尝试建立一个Hadoop开发环境。我正在使用CDH4并按照其网站https://ccp.cloudera.com/display/CDH4DOC/中的安装说明进行操作。
我达到了能够以伪分布式模式安装CDH4的程度,我正在关注“需要额外配置的组件”部分。
我已经安装了HBase-master软件包,但是当我尝试启动该服务时,我收到以下错误:
$ 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
我认为它与某些env变量有关(我相信HADOOP_HOME)。但我不知道在哪里查看,因为所有以前的进程(名称节点,数据节点,作业跟踪器,任务跟踪器)都没有问题。
当我搜索HADOOP_HOME变量时,它表示未定义。
你们有什么想法我能解决这个问题吗?
提前多多感谢。
答案 0 :(得分:0)
请将HADOOP_HOME设置为hadoop安装目录 例如:export HADOOP_HOME = / usr / hadoop
将指向HADOOP_CONF_DIR的指针添加到hbase-env.sh中的HBASE_CLASSPATH环境变量。
在$ {HBASE_HOME} / conf文件夹下添加hdfs-site.xml(和core-site.xml)的副本