我希望通过hbase shell获得与webui中出现的表的区域相同的信息(即区域名称、区域服务器、开始/结束键、位置)。(ui很脆弱/很慢,而且我希望将此信息作为脚本的一部分进行处理。)在谷歌上搜索了很多次之后,我不知道该怎么做,这让我大吃一惊。版本为1.0.0.-cdh5.4.0
2j4z5cfb1#
要获取有关表的区域信息,需要扫描 hbase:meta table。
hbase:meta
scan 'hbase:meta',{FILTER=>"PrefixFilter('table_name')"}
此命令将提供所有区域的详细信息。行键将具有区域名称,并且将有四个列限定符。您可能需要以下两列限定符: info:regioninfo -此限定符包含startkey和endkey。 info:server -此限定符包含区域服务器详细信息
info:regioninfo
info:server
p5fdfcr12#
scan 'hbase:meta', {FILTER=>"PrefixFilter('tableName')", COLUMNS=>['info:regioninfo']}
xwbd5t1u3#
hbase中有一个用于表恢复和一致性检查的工具,称为hbase hbck。虽然这不会在hbase shell内部运行,但是可以用来获取区域列表。命令 hbase hbck -details <tablename> 可用于获取表的详细信息,并将包含所需的区域信息。可以解析上述命令的输出,以获得所需表的区域信息。
hbase hbck -details <tablename>
jm2pwxwz4#
以下是hbase邮件列表的回复:状态“详细”将向您显示足够的信息,例如。
t1,30,1449175546660.da5f3853f6e59d1ada0a8554f12885ab." numberOfStores=1, numberOfStorefiles=0, storefileUncompressedSizeMB=0, lastMajorCompactionTimestamp=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=0, writeRequestsCount=0, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, completeSequenceId=-1, dataLocality=0.0
但是,这将返回来自所有表的信息,您需要解析您感兴趣的表的区域。
hm2xizp95#
使用“官方” list_regions shell命令列出所有区域。请注意,此工具仅从hbase 1.4及更高版本开始提供。
list_regions
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']
其实施详情见:https://issues.apache.org/jira/browse/hbase-14925
5条答案
按热度按时间2j4z5cfb1#
要获取有关表的区域信息,需要扫描
hbase:meta
table。此命令将提供所有区域的详细信息。行键将具有区域名称,并且将有四个列限定符。您可能需要以下两列限定符:
info:regioninfo
-此限定符包含startkey和endkey。info:server
-此限定符包含区域服务器详细信息p5fdfcr12#
xwbd5t1u3#
hbase中有一个用于表恢复和一致性检查的工具,称为hbase hbck。虽然这不会在hbase shell内部运行,但是可以用来获取区域列表。
命令
hbase hbck -details <tablename>
可用于获取表的详细信息,并将包含所需的区域信息。可以解析上述命令的输出,以获得所需表的区域信息。
jm2pwxwz4#
以下是hbase邮件列表的回复:
状态“详细”将向您显示足够的信息,例如。
但是,这将返回来自所有表的信息,您需要解析您感兴趣的表的区域。
hm2xizp95#
使用“官方”
list_regions
shell命令列出所有区域。请注意,此工具仅从hbase 1.4及更高版本开始提供。其实施详情见:https://issues.apache.org/jira/browse/hbase-14925