根据Hbase设计,Hbase使用memstore存储写入,最终当memstore达到大小限制时,它会将其刷新到HDFS.这个冲洗练习是在主题背后自动发生的.
在我的情况下,我想进行hdfs迁移,从一个集群迁移到另一个集群,我需要确保在我在源集群中关闭hbase进程之前没有任何内存留在内存中.无论如何我们可以手动强制刷新即使memstore没有达到限制.
==问题添加==
进一步的问题:你怎么知道冲洗完成了?通过指标?
小智 10
你可以从shell中做到:刷新'tableName'来刷新memstore.
但是如果你想通过hdfs备份/ hbase/table文件夹,那么这样做的方法是: - 禁用表:(来自shell:禁用'tableName') - 复制文件:hadoop fs -cp/hbase/tableName/hbase-backup/tableName - 启用表:(来自shell:enable'tableName')
或者您可以使用CopyTable或导出工具(http://hbase.apache.org/book/ops.backup.html)