开发者社区> 问答> 正文

经常遇到 major GC 花了半分钟才完成,但一两秒以后又启动了,如此往复。这种情况下 Flink 很不稳定,随时可能挂掉,checkpoint 也完不成了,Flink 还在默默地往身上扛数据

转自钉钉群21789141:经常遇到 major GC 花了半分钟才完成,但一两秒以后又启动了,如此往复。这种情况下 Flink 很不稳定,随时可能挂掉,checkpoint 也完不成了,Flink 还在默默地往身上扛数据

展开
收起
赵慧@ApacheFlink中文社区 2018-10-18 13:27:53 3858 0
2 条回答
写回答
取消 提交回答
  • 这个问题能再拿出聊一下么?

    1. heap statebackend也不是完全驻留在内存,会扇出到磁盘的吧?
    2. 阿里自己的statebackend大概怎么实现的?
    2019-07-17 23:09:11
    赞同 展开评论 打赏
  • Jerome:这种现象通过适当增加资源应该比较好解决吧
    问:明明 off-heap 还有几十 GB 的空间,也开启 off-heap 选项了,后来发现状态这部分 Flink 是完全不用堆外的... 而且 snapshot 时各种 array copy 和 flatten, 内存很快就没了
    付典:你用的heap statebackend,为什么不用rocksdb statebackend?
    问:RocksDB 单用的话性能比不上 Heap...
    放在 ramdisk / Alluxio 上效果会好一些,不过又要更多措施来保证数据可靠性了
    如果把 local recovery 的 checkpoint stream 写入快速 SSD / offheap,结合 pre-allocate,那么扩容起来应该更快,只是成本就上去了
    jerome:可以问问阿里同学怎么做的
    他们数据量很大应该经常遇到性能问题
    对了,他们自己实现了自己的statebackend
    这个要贡献出来很有用

    2019-07-17 23:09:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载