@InterfaceAudience.Private public class ZKPermissionWatcher extends ZKListener implements Closeable
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(ZKWatcher watcher,
TableAuthManager authManager,
org.apache.hadoop.conf.Configuration conf) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
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(ZKWatcher watcher, TableAuthManager authManager, org.apache.hadoop.conf.Configuration conf)
public void start() throws org.apache.zookeeper.KeeperException
org.apache.zookeeper.KeeperException
public void close()
close
in interface Closeable
close
in interface AutoCloseable
public void nodeCreated(String path)
ZKListener
nodeCreated
in class ZKListener
path
- full path of the new nodepublic void nodeDeleted(String path)
ZKListener
nodeDeleted
in class ZKListener
path
- full path of the deleted nodepublic void nodeDataChanged(String path)
ZKListener
nodeDataChanged
in class ZKListener
path
- full path of the updated nodepublic void nodeChildrenChanged(String path)
ZKListener
nodeChildrenChanged
in class ZKListener
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–2019 Cloudera. All rights reserved.