Java 如何以超级用户身份访问HBase外壳?(使用CDH 5.7.2和HBase 1.2预配置虚拟机)

Java 如何以超级用户身份访问HBase外壳?(使用CDH 5.7.2和HBase 1.2预配置虚拟机),java,shell,hbase,admin,Java,Shell,Hbase,Admin,我使用的是运行Cloudera CDH 5.7.2和HBase 1.2的预配置VM。通过Cloudera Manager;但是,现在我需要创建一个有足够权限创建表的HBase用户,对该表执行puts/deletes/scans,然后删除该表 我学会了如何访问HBase外壳;但是,我刚刚在命令行中键入了hbase shell,这导致我以VM当前经过身份验证的用户(root)的身份访问它,并且VM的用户没有权限授予我与特定hbase用户关联、创建hbase用户等所需的权限 如何以HBase的超级用户

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

我学会了如何访问HBase外壳;但是,我刚刚在命令行中键入了hbase shell,这导致我以VM当前经过身份验证的用户(root)的身份访问它,并且VM的用户没有权限授予我与特定hbase用户关联、创建hbase用户等所需的权限

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

我觉得这应该类似于访问oraclesqlplus,首先通过对机器进行身份验证,然后向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
。如果是,则使用sudo作为
hbase
运行

# sudo -u hbase hbase shell

为了写入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
。如果是,则使用sudo作为
hbase
运行

# sudo -u hbase hbase shell

谢谢在我的例子中,/hbase的所有者实际上是服务用户hbase。按照您的建议,我运行了命令sudo-u hbase hbase shell,并以hbase用户的身份访问了hbase shell。再次感谢!谢谢在我的例子中,/hbase的所有者实际上是服务用户hbase。按照您的建议,我运行了命令sudo-u hbase hbase shell,并以hbase用户的身份访问了hbase shell。再次感谢!