开发者社区> 问答> 正文

一个集群中部署了多个OpenTSDB节点后,其各自的compact是否存在冲突、资源浪费或是饥饿?

一个集群中部署了多个OpenTSDB节点后,其各自的compact是否存在冲突、资源浪费或是饥饿?

展开
收起
不语奈何 2020-01-09 19:51:59 1089 0
1 条回答
写回答
取消 提交回答
  • 精于基础,广于工具,熟于业务。

    数据从多个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 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    2020-01-09 19:52:28
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
基于etcd的超大规模生产级弹性键值存储实践与优化 立即下载
运用新技术解决有状态应用的冷热迁移挑战 迁移策略+新容器运行时 立即下载
事务、全局索引、透明分布式 立即下载