手工进行Major Compaction

<property>
  <name>hbase.hregion.majorcompaction</name>
  <value>0</value>
</property>

将时间设置为0,禁用自动Major Compaction。

在HBase Shell中执行脚本:

major_compact ‘table_name’

这样就能手工执行一次Major Compaction。将所有的表名称写成一个文件,然后在shell脚本中遍历这个文件,执行HBase Shell命令,就可以定时自动执行了。

for table in $(cat $TABLES_FILE); do
  echo “major_compact ‘$table'” | $HBASE_HOME/bin/hbase shell
  sleep 10
done

写成shell,设置一下crontab,每天夜深人静的时候跑一下就可以了。

您可以选择一种方式赞助本站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情