一个集群中部署了多个OpenTSDB节点后,其各自的compact是否存在冲突、资源浪费或是饥饿?
数据从多个OpenTSDB流入,单个OpenTSDB将只持有经由自己流入的数据的rowkey,如果集群中全部开启了compact,那么每个OpenTSDB节点都将对存在于自己的queue中的rowkey进行周期性的scan、merge,然后写入合并后的cell,删除其它。这个读写的过程,不会存在饥饿,一方面因为,compact并不需要一定凑全一整个row,减少Cell数量同样是积极的,另一方面,任何节点都可以根据rowkey去检索到当前HBase中全部的Cell。这个操作尽管是幂等的,但是必然会为HBase带来多余的读写开销以及OpenTSDB层面的负载。集群模式下,推荐使用单独的节点进行compact操作。
作者:即墨灯火 链接:https://www.jianshu.com/p/de587e38d9d7 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。