建表之后,在赋权的时候,发现有错误
2.以开始以为语法有错误,不会啊,很简单的语法。经过测试几个命令发现,但凡和权限相关的命令,都失败了
百度到一些建议,需要检查参数,在确认下面几个参数都设置正确的情况下,问题依旧
hbase.master.keytab.filehbase.master.kerberos.principalhbase.regionserver.keytab.filehbase.regionserver.kerberos.principalhbase.coprocessor.master.classeshbase.coprocessor.region.classeshbase.security.authorization
try restarting your cluster as postStartMaster step should create this table, once you are able to do scan ‘hbase:acl’ , you will not see above error “ERROR: DISABLED:Security features are not available”
4.下面这句话,提醒了我,是不是hbase:acl丢失了?
try restarting your cluster as postStartMaster step should create this table, once you are able to do scan ‘hbase:acl’
5.一检查,发现真没了
6.正常的情况应该是
7.问题原因找到了,开始找解决办法吧
如何重建hbase:acl呢?安装过程中hbase并没有任何特殊设置,只要在hdfs上创建一个/hbase目录,启动hbase master就会自动创建需要的文件。为什么重启几次,都没有重新创建这个acl表呢?
可以看到zookeeper没有acl的信息
zkCli.sh
解决方法
在hbase-site.xml里添加以下配置开启授权acl 有就修改没有就追加
<property><name>hbase.superuser</name><value>root</value>
</property>
<property><name>hbase.coprocessor.region.classes</name> <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property><name>hbase.coprocessor.master.classes</name><value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property><name>hbase.rpc.engine</name><value>org.apache.hadoop.hbase.ipc.SecureRpcEngine</value>
</property>
<property><name>hbase.security.authorization</name><value>true</value>
</property>
之后删除zookeeper的hbase信息,和hdfs的hbase目录,重启hbase就好了