写几个Hbase踩过的坑吧
问题1 :truncate table 后Region个数为1,故不要truncate table。
Hbase 尽力不要执行truncate table。一旦执行 region个数就会变为1,之前的预分区就没有用了。
那么如果想要删除 清空数据 只能重新建表!
问题2 :TTL 是7天,这插入的数据有时间戳,时间戳是7天前的数据,Hbase不可查。
那如果是说做数据迁移,要迁移之前的数据,需要把timestamp去掉
问题3:Hbase key相同覆盖
rowkey相同会覆盖。同时提醒自己和读者们每次任务交付前自己务必先检查一遍。
昨天遇见一个线上SD错误,前人留下的bug!可以直接拉出去砍了!!感觉自己快成一个运维的人儿啊,天天填前人的坑。。。
3.1线上Hbase库里永远是只有一条记录,很奇怪,然后从加工入库开始调研。
3.2最终发现问题的时候,发现是他们线上跑了几个月的程序,rowkey相同导致的!你说可气不可气!
同时,也给自己提个醒,以后再排查问题的时候啊,有时可以直接到最后一步,一步一步跟,太耗时间了。
写了一个Hbase 批量执行的脚本
#!/bin/bash
source /etc/profile
exec $HBASE_HOME/bin/hbase shell <<EOF
major_compact('t_abc')
disable 't_abc'
drop 't_abc'
create 't_abc', 'info'
EOF