apache flink-使用Ignite on YARN确保 local缓存


0

我有一个用Flink编写的流处理应用程序&我想从state后端使用它的内部 key值存储来计算流聚合。因为我要处理很多聚合,所以我希望避免像当前提供的内存备份和文件备份实现那样在Flink应用程序的堆中维护它们。相反,我希望在apacheignite中维护一个状态缓存,这样就可以使用write-through和read-through特性在HBase中提供更可靠的备份。

理想情况下,我在每个物理节点上都有一个 localIgnite缓存,用于处理该节点上所有长期运行的Flink操作符的状态。E、 g.每个节点在8gb容器中都有一个Ignite节点,无论它运行1个还是10个Flink操作符。

问题是我希望Flink和Ignite都在 Yarn 上运行。通过一致的分区,我可以确保数据通常被发送到正确的缓存,并且在出现故障等情况时,可以从HBase重新填充数据。不过,我面临的问题是,Ignite似乎随机地从YARN请求容器,这意味着我不能保证实际上有一个 local缓存可用,即使我将Ignite节点的数量设置为与物理节点的数量完全相同。

关于如何实现每个物理节点设置一个Ignite节点,有什么建议吗?

1 答案


0

创建了一个票证,以便使用以下方法增强资源分配:https://issues.apache.org/jira/browse/IGNITE-3214。社区里会有人把它叠起来修理的。


我来回答

写文章

提问题

面试题