HBase表能否由HDFS中的特定用户拥有?

HBase表能否由HDFS中的特定用户拥有?,hbase,hdfs,Hbase,Hdfs,我有一个HBase集群,其中每个regionserver和master都由用户HBaseServer运行 当一个客户机,john连接并创建一个表时,表目录和HDFS中的所有文件都归hbaseuser所有(这是合理的,因为hbaseuser实际上正在运行一切) 但是,如果john希望从具有托管区域的表中删除整个区域,他将运行HRegion.deleteRegion(),该操作尝试以用户john的身份从HDFS中删除整个文件,但由于权限不足而失败HRegion.deleteRegion()尝试直接在

我有一个HBase集群,其中每个regionserver和master都由用户
HBaseServer
运行

当一个客户机,
john
连接并创建一个表时,表目录和HDFS中的所有文件都归
hbaseuser
所有(这是合理的,因为hbaseuser实际上正在运行一切)

但是,如果john希望从具有托管区域的表中删除整个区域,他将运行
HRegion.deleteRegion()
,该操作尝试以用户john的身份从HDFS中删除整个文件,但由于权限不足而失败
HRegion.deleteRegion()
尝试直接在HDFS上而不是通过HBase运行命令

是否有HBase配置(通过配置文件或以编程方式)允许用户创建的表将HDFS中的这些文件归该用户所有

例如,目前john创建的任何内容都是:

>hadoop fs -lsr /hbase/testregion
drwxr-xr-x  - hbaseuser supergroup ... /hbase/testregion/<id>
-rw-r--r--  - hbaseuser supergroup ... /hbase/testregion/<id>/.regioninfo
hadoop fs-lsr/hbase/testregion drwxr-xr-x-hbaseuser超组/hbase/testregion/ -rw-r--r--hbaseuser超组/hbase/testregion/.regioninfo 但我想看到:

>hadoop fs -lsr /hbase/testregion
drwxr-xr-x  - john supergroup ... /hbase/testregion/<id>
-rw-r--r--  - john supergroup ... /hbase/testregion/<id>/.regioninfo
hadoop fs-lsr/hbase/testregion drwxr-xr-x-约翰超群/hbase/testregion/ -rw-r--r--john超群/hbase/testregion/.regioninfo 有人知道是否存在这样的配置,允许用户删除HBase为该用户创建的文件吗


我使用的是hbase-0.90.6-cdh3u5。

使用hbase没有一个好方法

虽然有一些ACL支持,但请参阅《HBase指南》的。不幸的是,这仅在0.92以上的版本中可用,对于cloudera,它将是CDH4或更高版本。访问控制也基于协处理器,而协处理器无法处理hdfs级别的访问控制

我想您可以在创建表后尝试更改HDFS中的目录权限,但当区域打开时,它们将由运行HBase进程的用户拥有默认权限