我想获得有关Web UI中显示的表区域的相同信息(即区域名称,区域服务器,开始/结束键,位置),但是通过hbase shell.
(UI是片状/慢速,而且我想将此信息作为脚本的一部分进行处理.)
经过大量的谷歌搜索,我无法找到如何,这让我感到非常惊讶.版本是1.0.0.-cdh5.4.0
Mad*_* RS 36
要获取有关表的区域信息,您需要扫描hbase:meta表.
scan 'hbase:meta',{FILTER=>"PrefixFilter('table_name')"}
Run Code Online (Sandbox Code Playgroud)
此命令将提供所有区域的详细信息.行键将具有区域名称,并且将有四个列限定符.您可能需要遵循两个列限定符:
info:regioninfo - 此限定符包含STARTKEY和ENDKEY.
info:server - 此限定符包含区域服务器详细信息
使用“官方” list_regionsshell 命令列出所有区域。请注意,此工具仅从 HBase 1.4 及更高版本开始可用。
Some examples are
Examples:
hbase> list_regions 'table_name'
hbase> list_regions 'table_name', 'server_name'
hbase> list_regions 'table_name', {SERVER_NAME => 'server_name', LOCALITY_THRESHOLD => 0.8}
hbase> list_regions 'table_name', {SERVER_NAME => 'server_name', LOCALITY_THRESHOLD => 0.8}, ['SERVER_NAME']
hbase> list_regions 'table_name', {}, ['SERVER_NAME', 'start_key']
hbase> list_regions 'table_name', '', ['SERVER_NAME', 'start_key']
Run Code Online (Sandbox Code Playgroud)
有关其实施的详细信息,请访问:https : //issues.apache.org/jira/browse/HBASE-14925
小智 5
scan 'hbase:meta', {FILTER=>"PrefixFilter('tableName')", COLUMNS=>['info:regioninfo']}
Run Code Online (Sandbox Code Playgroud)