14.5. HBase命令行工具¶
GeoMesa HBase发行版包括一组命令行工具,用于功能管理、获取、导出和调试。
要安装这些工具,请参阅 设置HBase命令行工具 。
安装后,应该可以通过命令使用这些工具 geomesa-hbase
**
$ geomesa-hbase
INFO Usage: geomesa-hbase [command] [command options]
Commands:
...
中介绍了多个后端通用的命令 命令行工具 。这里的命令是特定于HBase的。
14.5.1. 一般论据¶
HBase工具命令不需要连接参数;相反,它们依赖于适当的 hbase-site.xml
在类路径上可用,如中所述 设置HBase命令行工具 。
14.5.2. 指令¶
14.5.2.1. bulk-ingest
¶
获取数据并写出HFiles,适合批量加载到集群中。写入离线HFiles而不是直接写入正在运行的群集可以减少群集上的负载,并避免代价高昂的数据压缩。看见 Bulk Loading 有关一般概念的更多详细信息,请参阅HBase文档。
大容量接收必须作为映射/还原作业运行。因此,请确保您的输入文件暂存在HDFS中。目前,只支持GeoMesa转换器框架进行批量接收。
运行大容量接收时,应根据您的输入确保数据表具有适当的拆分。这将避免在接收过程中创建极大的文件,还将防止群集随后拆分HFiles。看见 配置索引拆分 以获取更多信息。
目前,HBase一次只支持写出单个表。因此,完整的大容量加载将包括多次运行此命令,每个索引表运行一次。 z3
, id
等)。
生成文件后,使用 bulk-load
命令(如下所述)将它们加载到群集中。
14.5.2.2. bulk-load
¶
将HFiles加载到HBase群集中。此命令使用HBase LoadIncrementalHFiles
类将数据加载到区域服务器。请参阅 bulk-ingest
命令,了解有关创建HFiles的详细信息。
警告
此命令可能会损坏您的群集数据。如果可能,您应该始终在尝试大容量加载之前备份群集。如果在大容量加载期间出现任何错误或超时,您可能需要使用HBase hbck
命令修复群集。
根据数据的大小,您可能需要修改默认的HBase配置设置,才能成功批量加载文件。这可以通过修改 hbase-site.xml
GeoMesa工具类路径上的文件。以下属性特别相关:
hbase.rpc.timeout
-可能需要增加,特别是在处理大型HFiles或在S3上使用HBase时hbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily
-如果摄取大量HFiles,可能需要增加hbase.loadincremental.threads.max
-可以增加以加快批量加载。增加以匹配区域服务器的数量可能是适当的。