Hbase启动时没有Hmaster进程

报错:

HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.1.1, re1dbf4df30d214fca14908df71d038081577ea46, Sun May 17 12:34:26 PDT 2015

hbase(main):001:0> list
TABLE                                                                                                     

ERROR: Can't get master address from ZooKeeper; znode data == null

Here is some help for this command:
List all tables in hbase. Optional regular expression parameter could
be used to filter the output. Examples:

  hbase> list
  hbase> list 'abc.*'
  hbase> list 'ns:abc.*'
  hbase> list 'ns:.*'

解决:

这里问题主要是hbase没有正常启动起来,http://hadoop0:16010/master-status无法查看hbase状态,主要是因为hdfs端口配置错误,这里采用了帮助文档中的8020端口,实际上我的hdfs端口采用hadoop的默认9000端口,修改配置文件hbase-site.xml:

<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop0:9000/hbase</value>
</property>

     保存,并分发到各个节点,保持配置文件的一致,然后:
     启动Hbase , bin/start-hbase.sh
启动顺序:hadoop-->zookeeper-->hbase 

在hadoop0上启动hadoop集群:
/home/hadoop/hadoop-2.6.0/sbin/start-all.sh

在每一台机器上启动zookeeper:
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start

在hadoop0上启动hbase集群:

/home/hadoop/hbase-1.0.1.1/bin/start-hbase.sh

        此时jps查看到各个进程均已经启动,http://hadoop0:16010/master-status可以查看hbase状态,运行hbase shell的list命令,工作正常,问题解决。


[hadoop@hadoop0 conf]$ jps
2423 Jps
[hadoop@hadoop0 conf]$ /home/hadoop/hadoop-2.6.0/sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [hadoop0]
hadoop0: starting namenode, logging to /home/hadoop/hadoop-2.6.0/logs/hadoop-hadoop-namenode-hadoop0.out
hadoop4: starting datanode, logging to /home/hadoop/hadoop-2.6.0/logs/hadoop-hadoop-datanode-hadoop4.out
hadoop1: starting datanode, logging to /home/hadoop/hadoop-2.6.0/logs/hadoop-hadoop-datanode-hadoop1.out
hadoop3: starting datanode, logging to /home/hadoop/hadoop-2.6.0/logs/hadoop-hadoop-datanode-hadoop3.out
hadoop2: starting datanode, logging to /home/hadoop/hadoop-2.6.0/logs/hadoop-hadoop-datanode-hadoop2.out
Starting secondary namenodes [hadoop0]
hadoop0: starting secondarynamenode, logging to /home/hadoop/hadoop-2.6.0/logs/hadoop-hadoop-secondarynamenode-hadoop0.out
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-2.6.0/logs/yarn-hadoop-resourcemanager-hadoop0.out
hadoop1: starting nodemanager, logging to /home/hadoop/hadoop-2.6.0/logs/yarn-hadoop-nodemanager-hadoop1.out
hadoop4: nodemanager running as process 2605. Stop it first.
hadoop3: starting nodemanager, logging to /home/hadoop/hadoop-2.6.0/logs/yarn-hadoop-nodemanager-hadoop3.out
hadoop2: starting nodemanager, logging to /home/hadoop/hadoop-2.6.0/logs/yarn-hadoop-nodemanager-hadoop2.out
[hadoop@hadoop0 conf]$ /home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start
JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[hadoop@hadoop0 conf]$ /home/hadoop/hbase-1.0.1.1/bin/start-hbase.sh
starting master, logging to /home/hadoop/hbase-1.0.1.1/logs/hbase-hadoop-master-hadoop0.out
hadoop2: starting regionserver, logging to /home/hadoop/hbase-1.0.1.1/bin/../logs/hbase-hadoop-regionserver-hadoop2.out
hadoop1: starting regionserver, logging to /home/hadoop/hbase-1.0.1.1/bin/../logs/hbase-hadoop-regionserver-hadoop1.out
hadoop3: starting regionserver, logging to /home/hadoop/hbase-1.0.1.1/bin/../logs/hbase-hadoop-regionserver-hadoop3.out
hadoop4: starting regionserver, logging to /home/hadoop/hbase-1.0.1.1/bin/../logs/hbase-hadoop-regionserver-hadoop4.out
hadoop1: starting master, logging to /home/hadoop/hbase-1.0.1.1/bin/../logs/hbase-hadoop-master-hadoop1.out
[hadoop@hadoop0 conf]$ jps
3386 HMaster
2812 SecondaryNameNode
3237 QuorumPeerMain
3510 Jps
2548 NameNode
2964 ResourceManager
[hadoop@hadoop0 conf]$ hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.1.1, re1dbf4df30d214fca14908df71d038081577ea46, Sun May 17 12:34:26 PDT 2015

hbase(main):001:0> list
TABLE                                                                                                     
0 row(s) in 0.2800 seconds

=> []
hbase(main):002:0> 
HBase 的 HMaster 进程负责管理整个 HBase 集群的核心组件,包括 RegionServer 和表的设计等。如果在通过 `hbase shell` 登录后发现 HMaster 进程消失了,你可以尝试以下几个步骤来解决这个问题: 1. **检查日志**:查看 Hadoop 或 HBase 相关的日志文件,如 `hadooplogs` 或 `hbase logs` 目录下的 `hmaster.out` 文件,看是否有异常信息提示。 2. **重启服务**:尝试停止并重启 HBase Master 服务。在命令行输入: ``` $ hbase-daemon.sh stop master $ hbase-daemon.sh start master ``` 3. **状态确认**:再次登录 `hbase shell`,运行 `status` 命令,核实 HMaster 是否已经启动并正常工作。 4. **集群问题**:如果集群配置有误或者网络问题,可能是其他节点的问题导致 Master 视图更新延迟。检查 ZooKeeper 节点是否健康,并确认 Master 的选举机制是否正常。 5. **手动选举**:如果所有节点都无法正常选举 Master,可以考虑手动指定一个节点作为 Master,但这通常只适用于测试环境: ``` $ bin/hbase zkcli -cmd get /hbase/master election $ bin/hbase zkcli -cmd set /hbase/master election <node-ip>:<node-port> ``` 6. **清理问题**:如果以上操作都无效,可能是数据损坏或其他严重错误导致 Master 宕机。这需要备份数据后,可能需要重建 Master 节点。 记得在解决问题的过程中,及时记录操作步骤和发现的问题,以便于排查。如果你能提供更多关于问题的具体情况,我可以给出更针对性的建议。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值