0

我正在尝试建立一个 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

我想它与一些环境变量有关(我相信 HADOOP_HOME)。但我不知道在哪里看,因为所有以前的进程(名称节点、数据节点、作业跟踪器、任务跟踪器)都没有问题。

当我搜索 HADOOP_HOME 变量时,它说它是未定义的。

你们对我如何解决这个问题有任何想法吗?

提前非常感谢。

4

1 回答 1

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)的副本

于 2017-11-08T17:46:48.407 回答