0.hbase的组件 架构 参考:https://cloud.tencent.com/developer/article/1084209

hbase的架构组成+hbase在create报错  -hue - mvn hadoop dfsadmin -report  看整个 hadoop的节点情况_xml

 

 

hbase的架构组成+hbase在create报错  -hue - mvn hadoop dfsadmin -report  看整个 hadoop的节点情况_jar_02

 

 

各个组件的功能

hbase的架构组成+hbase在create报错  -hue - mvn hadoop dfsadmin -report  看整个 hadoop的节点情况_jar_03

 

 参考:https://zhuanlan.zhihu.com/p/75454915

1.现象:hbase shell > status #正常

              hbase shell > list #正常

              hbase shell > create 'person', 'name', 'age'  #报错如下:

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

2.本质:看hbase的日志,报错如下:

vim ./hbase-root-master-do1cloud01.log.1

2019-07-31 14:58:29,149 WARN  [master/do1cloud01:16000:becomeActiveMaster] master.HMaster: hbase:meta,,1.1588230740 is NOT online; state={1588230740 state=OPENING, ts=1564556308397, server=do1cloud02,16020,1564556283727}; ServerCrashProcedures=true. Master startup cannot progress, in holding-pattern until region onlined.

3.解决方案:

1、时间没同步,date -R查看每个节点机器的时间,看误差是否在30秒内————本人误差正常 

2、查看hbase-site.xml中参数hbase.rootdir的值,需要放在hdfs上,且主机名和端口号需与hadoop中的core-site.xml中参数fs.defaultFS的值保持一致————本人设置正确 

3、修改每个主机的主机名映射,即/etc/hosts文件————本人该项设置正确 

4、注意hbase和hadoop的版本匹配问题,将hadoop下的hadoop-xxxx.jar替换掉hbase/lib下的hadoop-xxxx.jar————这项无稽之谈,替换后彻底启动不了hbase进程了,其实查看hbase官网的版本匹配表就OK了,无需手动替换jar包

 5、将hadoop下的core-site.xml和hdfs-site.xml复制到hbase/conf目录下————本人该项操作正确

 

用一个例子来演示会更加清晰