问题:
Master启动不起来
自查:
进入到报错日志:启动角色→角色日志→查看完整日志文件,发现:
Failed to create or set permission onstaging directory hdfs://nameservice1/hbase/staging
Failed to become active master
java.io.IOException: Failed to create orset permission on staging directory hdfs://nameservice1/hbase/staging
at org.apache.hadoop.hbase.master.MasterFileSystem.checkStagingDir(MasterFileSystem.java:394)
at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:171)
at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:124)
at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:862)
at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2274)
at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:583)
at java.lang.Thread.run(Thread.java:748)
Caused by:org.apache.hadoop.security.AccessControlException: Permission denied.user=hbase is not the owner of inode=/hbase/staging
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkOwner(FSPermissionChecker.java:303)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:270)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:194)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1855)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1839)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkOwner(FSDirectory.java:1784)
at org.apache.hadoop.hdfs.server.namenode.FSDirAttrOp.setPermission(FSDirAttrOp.java:64)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermission(FSNamesystem.java:1861)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setPermission(NameNodeRpcServer.java:856)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setPermission(ClientNamenodeProtocolServerSideTranslatorPB.java:509)
原因为HDFS用户/用户组读写权限问题,导致/hbase/staging无法写入
查看/hbase用户/用户组为root:root
hadoop fs -ls /
解决:
将/hbase更改用户及用户组为hbase:supergroup
sudo -u hdfs hadoop fs -chown -Rhbase:supergroup /hbase