Hadoop 命令以了解HBase中表的大小

Hadoop 命令以了解HBase中表的大小,hadoop,hbase,Hadoop,Hbase,我引用了,但作为普通用户,我没有访问/hbase目录上的hdfs-du/hbase命令的权限。由于我在HBase中创建了一个表(比如customer),并插入了大约100K条记录,我如何知道customer表的大小呢?假设您处于典型的hadoop设置中,您可以作为任何用户运行hadoop命令 因此,作为文件系统命令的准备,您应该能够执行以下操作: HADOOP_USER_NAME=hdfs 当然,你要小心使用 如果您在一个安全的环境中(例如使用kerberos),那么这当然不起作用 假设您处于

我引用了,但作为普通用户,我没有访问
/hbase
目录上的
hdfs-du/hbase
命令的权限。由于我在HBase中创建了一个表(比如
customer
),并插入了大约100K条记录,我如何知道
customer
表的大小呢?

假设您处于典型的hadoop设置中,您可以作为任何用户运行hadoop命令

因此,作为文件系统命令的准备,您应该能够执行以下操作:

HADOOP_USER_NAME=hdfs
当然,你要小心使用


如果您在一个安全的环境中(例如使用kerberos),那么这当然不起作用

假设您处于典型的hadoop设置中,您可以作为任何用户运行hadoop命令

因此,作为文件系统命令的准备,您应该能够执行以下操作:

HADOOP_USER_NAME=hdfs
当然,你要小心使用


如果您在一个安全的环境中(例如使用kerberos),那么这当然不起作用

两种可能的方法,都不是很好。:)

1) 对于Java开发人员,使用HBaseAdmin通过实用程序连接到集群。像这样的

   Collection<ServerName> servers=admin.getClusterStatus().getServers()
   for (ServerName serverName: servers) {
       ServerLoad load=admin.getClusterStatus().getLoad(serverName);
        load.getMemstoreSizeInMB();
        load.getStorefileSizeInMB();
   }
Collection servers=admin.getClusterStatus().getServers()
用于(服务器名服务器名:服务器){
ServerLoad=admin.getClusterStatus().getLoad(服务器名);
load.getMemstoreSizeInMB();
load.getStorefileSizeInMB();
}
2) 如果您更像一个系统管理员,那么可以在每个区域服务器上点击jmx指标。差不多

http://regionserver:regionserverPort/jmx

你也可以像这样浏览信息

“名称空间\u拼接\u表\u 1472\u区域\u a0db9d0ef5e7ae4262bde19a096b2f1f\u度量\u存储计数”:1, “名称空间拼接表区域”a0db9d0ef5e7ae4262bde19a096b2f1f度量存储文件计数:1,“名称空间拼接表区域”a0db9d0ef5e7ae4262bde19a096b2f1f度量存储文件计数”:408, “名称空间拼接表区域a0db9d0ef5e7ae4262bde19a096b2f1f度量存储文件大小”:18908965

我们在Splice机器上使用名称空间Splice和数字创建表。所以这个表是namespace=splice,table=1472


希望这有帮助,干杯

两种可能的方法,都不是很好。:)

1) 对于Java开发人员,使用HBaseAdmin通过实用程序连接到集群。像这样的

   Collection<ServerName> servers=admin.getClusterStatus().getServers()
   for (ServerName serverName: servers) {
       ServerLoad load=admin.getClusterStatus().getLoad(serverName);
        load.getMemstoreSizeInMB();
        load.getStorefileSizeInMB();
   }
Collection servers=admin.getClusterStatus().getServers()
用于(服务器名服务器名:服务器){
ServerLoad=admin.getClusterStatus().getLoad(服务器名);
load.getMemstoreSizeInMB();
load.getStorefileSizeInMB();
}
2) 如果您更像一个系统管理员,那么可以在每个区域服务器上点击jmx指标。差不多

http://regionserver:regionserverPort/jmx

你也可以像这样浏览信息

“名称空间\u拼接\u表\u 1472\u区域\u a0db9d0ef5e7ae4262bde19a096b2f1f\u度量\u存储计数”:1, “名称空间拼接表区域”a0db9d0ef5e7ae4262bde19a096b2f1f度量存储文件计数:1,“名称空间拼接表区域”a0db9d0ef5e7ae4262bde19a096b2f1f度量存储文件计数”:408, “名称空间拼接表区域a0db9d0ef5e7ae4262bde19a096b2f1f度量存储文件大小”:18908965

我们在Splice机器上使用名称空间Splice和数字创建表。所以这个表是namespace=splice,table=1472


希望这有帮助,干杯

我在kerberos环境中,可以运行hdfs dfs-ls/user/*。我还可以使用kinit运行hbase shell脚本命令command@Farooque如果您没有任何权限查看hbase目录,并且启用了身份验证,我认为您不能自己检查表大小。如果重要的话,考虑向管理员询问1。检查您的桌子大小或2。授予您对hbase目录的(非写)权限。3.为您在hbase目录中创建的表授予(非写)权限我在这里执行读取和执行,权限为hbase:drwx--------@Farooque,这意味着只有所有者(hbase?)可以读取、写入和执行。(正如人们在默认情况下所期望的那样)。正如您提到的,您是一个普通用户,您自己不应该能够克服这个限制。我在kerberos环境中,可以运行hdfs dfs-ls/user/*。我还可以使用kinit运行hbase shell脚本命令command@Farooque如果您没有任何权限查看hbase目录,并且启用了身份验证,我认为您不能自己检查表大小。如果重要的话,考虑向管理员询问1。检查您的桌子大小或2。授予您对hbase目录的(非写)权限。3.为您在hbase目录中创建的表授予(非写)权限我在这里执行读取和执行,权限为hbase:drwx--------@Farooque,这意味着只有所有者(hbase?)可以读取、写入和执行。(正如人们在默认情况下所期望的那样)。当你提到你是一个普通用户时,你不应该独自克服这个限制。