3

我试图通过运行 HMaster 类在 IDEA 中启动 HBase,但出现此错误:

java.lang.RuntimeException: Failed suppression of fs shutdown hook: Thread[Thread-8,5,main]
    at org.apache.hadoop.hbase.regionserver.ShutdownHook.suppressHdfsShutdownHook(ShutdownHook.java:196)
    at org.apache.hadoop.hbase.regionserver.ShutdownHook.install(ShutdownHook.java:83)
    at org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:191)
    at org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:420)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:149)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:104)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76)
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2100)

仅供参考 /etc/hosts 文件仅包含

127.0.0.1 - 机器名称

这是core-site.xml

<configuration>
   <property>
       <name>fs.default.name</name>
       <value>hdfs://localhost:8020</value>
   </property>

   <property>
       <name>hadoop.tmp.dir</name>
       <value>/home/ubuntu/Desktop/hdfs/tmp</value>
   </property>
</configuration>

hbase-site.xml

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>/usr/lib/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/lib/zookeeper</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
 </property>
</configuration>
4

4 回答 4

0

我遇到了类似的问题,但在独立模式下。这是我解决问题的方法:

  1. 检查"hostname"和“hostname -f”的输出,确保命令“hostname”的输出只包含主机名,而“hostname -f”包含FQDN。如果不是,请先解决此问题。
  2. sudo bin/start-hbase.sh我使用命令“ ”以root身份运行它

我仍然不知道这个问题的根本原因,但是在我采取上述步骤之后,Hbase 实例正在运行。希望能帮助到你!

于 2013-10-31T01:36:23.637 回答
0

当针对 Hadoop 1 编译的 HBase 在类路径中有 Hadoop 2 jar 时,会发生此错误。遇到这种情况的一种方法是将 Hadoop jar 转储到 lib/ 文件夹中,另一种方法是使用外部工具将这些 jar 放在系统的类路径中,HBase 将拾取该路径。

这很容易验证,只需运行bin/hbase classpath它就会打印出来。

在独立模式下,或者当 Zookeeper 由 HBase 管理时,它也会在日志开头的一行中打印出来:

INFO org.apache.zookeeper.server.ZooKeeperServer: Server environment:java.class.path=

通过删除 Hadoop 2 jar 来解决。

于 2014-03-11T20:29:50.357 回答
0

这是一个简单的错误。这很容易验证,只需运行 bin/hbase 类路径,它就会打印出来。如果存在 hadoop2,那么它将无法在独立模式下工作。所以删除那些或 tar 那些文件夹位置然后尝试。

于 2015-08-03T22:26:52.590 回答
-1

在 0.98 版的 bin/hbase 中,有一个标志 HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP

设置以下环境变量对我有用。

export  HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true
于 2016-01-04T10:00:14.560 回答