首页 > 编程知识 正文

Failed update hbase:meta table descriptor HBase启动报错

时间:2023-05-05 02:01:37 阅读:151004 作者:1413

这两天,在新的服务器上部署了大数据相关的内容,其中安装了HBase,所有安装都成功了,但启动时,HMaster启动失败,有时jps的检查HMaster存在几十秒,就会挂起总共有七台服务器,节点1为master,节点2为backup-master )查看日志时,出现以下错误:

2021-08-0415336032336038,839 info [ main ] util.fstabledescriptors 3360 ta ', { table _ attributes={ is _ meta=} coprocessor $1='|org.Apache.Hadoop.h base.coprocessor.multirowmutationetionetion VERSIONS='3',KEEP_DELETED_CELLS='FALSE ',DATA_BLOCK_ENCODING='NONE ',commone' MIN_VERSIONS='0 ' REPLICATION_SCOPE='0'},{ name=' rep _ baa me } in _ memory=' true ',VERSIONS='2147483647 ',keep _ delete data _ block _ encoding=' nonoding min _ versions='0',BLOCKCACHE='true ',BLOCKSIZE='65536 ',replication _ s KEEP_DELETED_CELLS='FALSE ',DATA_BLOCK_ENCODING='NONE ',COMPRESSION='NONE ',TTL BLOCKCACHE='true ' replication _ scope='0' } 2021-08-0415336032336039, 026 warn [ main ] util.fstabledescriptors 3360 failedcleanupofhdfs ://node 133609000/user/h base/data/h base/metta.tableinfo.0000000000012021-08-0415336032336039,042 warn [ main ] util.fstabledescriptors 3360 failedcleanupofhdfhdfofhdfhdforesttttting h base/metta.tableinfo.000000000022021-08-0415336032336039,052 warn [ main ] util.fstabledescriptors 3360 failedcleadcleareation h base/data/h base/metta.tableinfo.000000000032021-08-0415336032336039,062 warn [ main ] util.fstabledescriptoriptorintor node 133609000/user/h base/data/h base/metta.tableinfo.000000000042021-08-0415336032336039、072warn[main] util.fstabledescriptors 3360 failedcleanupofhdfs ://node 133609000/user/h base/data/h base/metta.tableinfo.0000 082 warn [ main ] util.fstabledescriptors 3360 failedcleanupofhdfs ://node 133609000/user/h base/data/h base/mettta

iled cleanup of hdfs://node1:9000/user/hbase/data/hbase/meta/.tmp/.tableinfo.00000000072021-08-04 15:32:39,104 WARN [main] util.FSTableDescriptors: Failed cleanup of hdfs://node1:9000/user/hbase/data/hbase/meta/.tmp/.tableinfo.00000000082021-08-04 15:32:39,115 WARN [main] util.FSTableDescriptors: Failed cleanup of hdfs://node1:9000/user/hbase/data/hbase/meta/.tmp/.tableinfo.00000000092021-08-04 15:32:39,123 WARN [main] util.FSTableDescriptors: Failed cleanup of hdfs://node1:9000/user/hbase/data/hbase/meta/.tmp/.tableinfo.00000000102021-08-04 15:32:39,124 ERROR [main] regionserver.HRegionServer: Failed construction RegionServerjava.io.IOException: Failed update hbase:meta table descriptorat org.apache.hadoop.hbase.util.FSTableDescriptors.tryUpdateMetaTableDescriptor(FSTableDescriptors.java:144)at org.apache.hadoop.hbase.regionserver.HRegionServer.initializeFileSystem(HRegionServer.java:738)at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:635)at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:528)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3163)at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:253)at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:149)at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:3181)2021-08-04 15:32:39,135 ERROR [main] master.HMasterCommandLine: Master exitingjava.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster. at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3170)at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:253)at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:149)at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:3181)Caused by: java.io.IOException: Failed update hbase:meta table descriptorat org.apache.hadoop.hbase.util.FSTableDescriptors.tryUpdateMetaTableDescriptor(FSTableDescriptors.java:144)at org.apache.hadoop.hbase.regionserver.HRegionServer.initializeFileSystem(HRegionServer.java:738)at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:635)at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:528)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3163)... 5 more

查了很多资料,都没有解决。后来,在查看hdfs上也没有初始化的hbase文件夹。
排查原因:
这到底是什么情况,冷静下来后,继续看它的日志,日志说的很明白,就是没法更新他的元数据信息,hdfs都没有这个文件夹,它当然更新不了了,是不是这个元数据在创建的时候有问题?!
使用hadoop fs -mkdir /user/hbase,结果说没有权限不成功,我是用的是root用户没有权限穿件文件夹???我突然明白了,我虽然是root权限,但是对于Hadoop来说,如果它控制了权限,我依然创建不成功的。原因找到了,下面就是解决了。
解决方法:
hadoop的权限控制在hdfs-sit.xml中,这个我还是会的,于是,
1.进入/data/hadoop/hadoop/etc/hadoop 找到 hdfs-site.xml
2.vim hdfs-site.xml 看到果然dfs.permissions.enabled 没有加(默认是true)
3.加入

<property> <name>dfs.permissions.enabled</name> <value>false</value></property>

如果你的这个为true,改成false
:wq 保存退出
4.重启hadoop,先stop-yarn.sh,再stop-dfs.sh,然后jps看下是否停成功(查看datanode和namenode是否还存在),启动时,先启动start-dfs.sh,在start-yarn.xml
5.上一步启动成功后,就可以启动hbase了,这一次启动成功!
直接hbase shell (如果没有配置环境变量,则进入hbase的xsdcg目录使用命令./hbase shell启动)如下图

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。