Hello Manoj,

Thats a very interesting requirement, unfortunately the existing HBase
directory structure needs to be owned by the user that started HBase
(usually the 'hbase' user) and HBase will handle all the permissions and
ACL rules without exposing details from HDFS to the client API. Even if you
change the ownership of Hfiles under a specific namespace or table,
compactions or splits will create new files as the HBase superuser. Also,
running multiple HBase clusters under the same HDFS cluster to go around
this limitation should be avoided since it can make things really hard to
manage.

Regarding the quota requirement, probably HBASE-8410/HBASE-11999 (work in
progress) will be the best option in order to support quotas in a reliable
way. Keep in mind that using HDFS quotas with HBase doesn't work well since
compactions and splits can increase the space utilization beyond the quota
sometimes and that could trigger failures in the Region Servers.

Probably your only option for now is to monitor the namespace utilization,
use Kerberos for authentication and specify a set of ACL rules that will
guarantee that users cannot access namespaces that are not allowed to.

cheers,
esteban.



--
Cloudera, Inc.


On Fri, Dec 19, 2014 at 10:31 PM, Manoj Murumkar <manoj.murum...@gmail.com>
wrote:
>
> Folks,
>
> We are trying to control space usage and manage security at HBase namespace
> level. Think of it in terms of a RDBMS (database and superuser for a
> database). Is there a simple way to do this?
>
> This is what I have in mind. Does it make sense?
>
>
>    - Space quotas: Namespace is managed under
> /apps/hbase/data/data/<namespace>
>    directory. We'll  use "dfsadmin -setQuota" to set appropriate quotas.
>    - Make <superuser> owner of /apps/hbase/data/data/<namespace> directory
>    in hdfs.
>
>
> Thanks for any pointers from folks who have done this kind of thing.
> Appreciate the time.
>
> Manoj
>

Reply via email to