org.apache.hadoop.hbase.security.access
Class ZKPermissionWatcher
java.lang.Object
org.apache.hadoop.hbase.zookeeper.ZooKeeperListener
org.apache.hadoop.hbase.security.access.ZKPermissionWatcher
- All Implemented Interfaces:
- Closeable
@InterfaceAudience.Private
public class ZKPermissionWatcher
- extends ZooKeeperListener
- implements Closeable
Handles synchronization of access control list entries and updates
throughout all nodes in the cluster. The 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.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ZKPermissionWatcher
public ZKPermissionWatcher(ZooKeeperWatcher watcher,
TableAuthManager authManager,
org.apache.hadoop.conf.Configuration conf)
start
public void start()
throws org.apache.zookeeper.KeeperException
- Throws:
org.apache.zookeeper.KeeperException
close
public void close()
- Specified by:
close in interface Closeable
nodeCreated
public void nodeCreated(String path)
- Overrides:
nodeCreated in class ZooKeeperListener
nodeDeleted
public void nodeDeleted(String path)
- Overrides:
nodeDeleted in class ZooKeeperListener
nodeDataChanged
public void nodeDataChanged(String path)
- Overrides:
nodeDataChanged in class ZooKeeperListener
nodeChildrenChanged
public void nodeChildrenChanged(String path)
- Overrides:
nodeChildrenChanged in class ZooKeeperListener
writeToZookeeper
public void writeToZookeeper(byte[] entry,
byte[] permsData)
- Write a table's access controls to the permissions mirror in zookeeper
- Parameters:
entry - permsData -
deleteTableACLNode
public void deleteTableACLNode(TableName tableName)
- Delete the acl notify node of table
- Parameters:
tableName -
deleteNamespaceACLNode
public void deleteNamespaceACLNode(String namespace)
- Delete the acl notify node of namespace
Copyright © 2007-2015 The Apache Software Foundation. All Rights Reserved.