Master
-
空集群怎么初始化表和znode的
-
空集群:hbase-site配置中Master要加载ACL协处理器;空集群初始化表,在AccessController的postStartMaster中初始化的;
-
-
启动怎么加载权限数据的(从zk加载还是从表加载)
-
从zk加载数据
-
-
RegionServer
-
zk中的数据怎么刷进去的
-
acl表region加载:postOpen
-
acl表被更新
-
reply acl wal :postLogReplay
-
所以重启master只会建表,不会重建zk的数据
-
- Region级别的权限怎么判断的
ACL表
-
怎么刷新ZK的( /hbase/acl )
-
writeToZookeeper方法;(包含创建/hbase/acl znode的方法)
-
initialize
-
postOpen:打开acl region;
-
或者postLogReplay:replay acl Region的时候写zookeeper;
-
-
updateACL:执行grant命令调用;
-
-
-
怎么从zk加载数据的
-
refreshAuthManager
-
nodeDataChanged
-
nodeChildrenChanged
-
ZKPermission
-
start
-
TableAuthManager初始化-01
-
ACL初始化
-
-
nodeCreated
-
-
-
refreshAllNodes
-
TableAuthManager初始化-02的最后
-
-
-
-
如果表被删了,能从zk恢复数据吗
-
确认写表的链路,是否能从内存刷数据进去;还是只能通过grant写表
-
只能通过grant写
-
经过测试:如果表被删了,不能自动通过zk恢复表里的数据,只能重新grant
-
-
实际测试一下
-
-
如果zk 的znode被删了,能从表恢复数据吗?
-
在acl表的region 重新open的时候可以重新加载
-
-
授权的完整的流程
-
postPut→updateACL ;其他rs的watcher被触发执行refresh更新内存
-
-
超级账号权限怎么初始化的
-
旧超级账号权限initGlobal: 本机linux账号加载到内存
-
新超级账号权限initGlobalDACL:从acl表加载数据
-
空集群启动的时候就屏蔽旧的超级账号权限的话,master balance验证权限会报错;RegionServer openRegion的时候会报错;
-
-
Client端
-
怎么传递账号信息到服务端的?