如何以超级用户身份访问 HBase Shell? (使用 CDH 5.7.2、HBase 1.2 预配置的 VM)

How to Access HBase Shell As Superuser? (Pre-Configured VM with CDH 5.7.2, HBase 1.2)

我正在使用运行 Cloudera CDH 5.7.2 和 HBase 1.2 的预配置 VM。通过 Cloudera Manager,;但是,现在我需要创建一个具有足够权限的 HBase 用户来创建 table,对 table 执行 puts/deletes/scans,然后删除 table.

我学会了如何访问 HBase shell;但是,我刚刚在命令行输入 hbase shell,这导致我以 VM 当前经过身份验证的用户(root)身份访问它,而 VM 的用户缺少授予我需要与特定 HBase 用户关联的权限、创建 HBase 用户等的权限。

如何以 HBase 的超级用户身份打开 HBase shell? (我不是 100% 确定 HBase 超级用户可能是谁,因为 VM 是预先配置的。)

我觉得这应该类似于访问 Oracle SQLPLUS,首先通过对机器进行身份验证,然后向 SQLPLUS 提供 Oracle 用户凭据以作为足够特权的用户向 Oracle 进行身份验证。

(对于这个HBase菜鸟级别的问题提前致歉)

为了写入 HDFS 路径 /hbase,您需要找出谁拥有该文件。

# hdfs dfs -ls /
...
drwxr-xr-x   - hbase supergroup          0 2017-07-14 07:48 /hbase
drwxrwxrwt   - hdfs  supergroup          0 2017-07-14 07:48 /tmp
....

很有可能是服务用户hbase。如果是,则 运行 as hbase 使用 sudo。

# sudo -u hbase hbase shell