org.apache.hadoop.hbase.security.access
Class ZKPermissionWatcher

java.lang.Object
  extended by org.apache.hadoop.hbase.zookeeper.ZooKeeperListener
      extended by 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.


Field Summary
 
Fields inherited from class org.apache.hadoop.hbase.zookeeper.ZooKeeperListener
watcher
 
Constructor Summary
ZKPermissionWatcher(ZooKeeperWatcher watcher, TableAuthManager authManager, org.apache.hadoop.conf.Configuration conf)
           
 
Method Summary
 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)
           
 void nodeCreated(String path)
           
 void nodeDataChanged(String path)
           
 void nodeDeleted(String path)
           
 void start()
           
 void writeToZookeeper(byte[] entry, byte[] permsData)
          Write a table's access controls to the permissions mirror in zookeeper
 
Methods inherited from class org.apache.hadoop.hbase.zookeeper.ZooKeeperListener
getWatcher
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZKPermissionWatcher

public ZKPermissionWatcher(ZooKeeperWatcher watcher,
                           TableAuthManager authManager,
                           org.apache.hadoop.conf.Configuration conf)
Method Detail

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-2016 The Apache Software Foundation. All Rights Reserved.