我们在 Amazon EMR 上有一个采用默认配置的 hadoop+hbase 集群,因此 mapred.child.tmp
和 hbase.tmp.dir
都指向 /tmp
。我们的集群已经运行了一段时间,现在/tmp
是 500Gb,而实际/hbase
数据为 70Gb。
这种差异似乎太大了,我们应该定期删除一些/tmp
数据吗?
经过一番调查,我发现我们/tmp
数据的最大部分是由亚马逊自动备份 Hbase 到 S3 期间失败的 mapreduce 任务创建的。我们成功的mapreduce任务不会在/tmp
留下太多数据。
决定禁用Amazon的自动备份,并使用HBase工具导入/导出表来实现我们自己的备份脚本。