@InterfaceAudience.Private public class ZKPermissionWatcher extends ZooKeeperListener
AccessController
instance
on the _acl_
table regions, creates a znode for each table as
/hbase/acl/tablename
, with the znode data containing a serialized
list of the permissions granted for the table. The AccessController
instances on all other cluster hosts watch the znodes for updates, which
trigger updates in the TableAuthManager
permission cache.watcher
Constructor and Description |
---|
ZKPermissionWatcher(ZooKeeperWatcher watcher,
TableAuthManager authManager,
org.apache.hadoop.conf.Configuration conf) |
Modifier and Type | Method and Description |
---|---|
void |
deleteNamespaceACLNode(String namespace)
Delete the acl notify node of namespace
|
void |
deleteTableACLNode(TableName tableName)
Delete the acl notify node of table
|
void |
nodeChildrenChanged(String path)
Called when an existing node has a child node added or removed.
|
void |
nodeCreated(String path)
Called when a new node has been created.
|
void |
nodeDataChanged(String path)
Called when an existing node has changed data.
|
void |
nodeDeleted(String path)
Called when a node has been deleted
|
void |
start() |
void |
writeToZookeeper(byte[] entry,
byte[] permsData)
Write a table's access controls to the permissions mirror in zookeeper
|
getWatcher
public ZKPermissionWatcher(ZooKeeperWatcher watcher, TableAuthManager authManager, org.apache.hadoop.conf.Configuration conf)
public void start() throws org.apache.zookeeper.KeeperException
org.apache.zookeeper.KeeperException
public void nodeCreated(String path)
ZooKeeperListener
nodeCreated
in class ZooKeeperListener
path
- full path of the new nodepublic void nodeDeleted(String path)
ZooKeeperListener
nodeDeleted
in class ZooKeeperListener
path
- full path of the deleted nodepublic void nodeDataChanged(String path)
ZooKeeperListener
nodeDataChanged
in class ZooKeeperListener
path
- full path of the updated nodepublic void nodeChildrenChanged(String path)
ZooKeeperListener
nodeChildrenChanged
in class ZooKeeperListener
path
- full path of the node whose children have changedpublic void writeToZookeeper(byte[] entry, byte[] permsData)
entry
- permsData
- public void deleteTableACLNode(TableName tableName)
tableName
- public void deleteNamespaceACLNode(String namespace)
Copyright © 2007-2016 The Apache Software Foundation. All Rights Reserved.