Apache flink 使用Ignite on Thread确保本地缓存

Apache flink 使用Ignite on Thread确保本地缓存,apache-flink,ignite,flink-streaming,Apache Flink,Ignite,Flink Streaming,我有一个用Flink编写的流处理应用程序&我想从state后端使用它的内部键值存储来计算流聚合。因为我要处理很多聚合,所以我希望避免像目前提供的内存支持和文件支持的实现那样在Flink应用程序的堆上维护它们。取而代之的是,我希望在ApacheIgnite中维护一个状态缓存,这反过来可以使用直写&直读功能在HBase中提供更可靠的备份 理想情况下,我在每个物理节点上都有一个本地Ignite缓存,用于处理该节点上所有长期运行的Flink操作符的状态。例如,每个节点在一个8 GB的容器中都有一个点火节

我有一个用Flink编写的流处理应用程序&我想从state后端使用它的内部键值存储来计算流聚合。因为我要处理很多聚合,所以我希望避免像目前提供的内存支持和文件支持的实现那样在Flink应用程序的堆上维护它们。取而代之的是,我希望在ApacheIgnite中维护一个状态缓存,这反过来可以使用直写&直读功能在HBase中提供更可靠的备份

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

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


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

创建了一个票证,以使用以下命令增强资源分配:。社区中的某个人会将其折叠并修复。

创建了一个票证,以使用以下方法增强资源分配:。社区中会有人将其折叠起来并修复。

只是出于好奇:您是否已经为Ignite实现了状态后端?还没有。Flink中的快照逻辑和Ignite中的直写逻辑有些不匹配。直写使快照成为不可操作的操作,因为所有内容都会立即自动同步,但这将打破一次逻辑障碍。另一方面,Ignite中的Write-behind也不能为我提供足够的刷新过程控制来进行适当的快照。为什么不能使用单分区Ignite缓存呢?它应该简化您的实现,因为Ignite将负责将数据放在何处以及从何处获取数据。如果任何节点离开,您将不会丢失任何数据,以防缓存有备份,因为所有数据都将为您自动重新平衡。因为我希望在每个节点上本地访问数据,Ignite的分区将数据按其认为合适的方式在节点之间传播,而不考虑Flink如何在其操作符之间对数据进行分区。每个节点上都有一个本地缓存,这意味着只要没有故障,Flink的分区就受到尊重。我面临的问题是,我无法强制每个物理节点上都存在一个Ignite节点,因此我无法保证每个节点上都存在一个缓存,Flink可能会在其中启动一个操作符。我现在正在研究Ignite on Slider来解决这个问题。Ignite姿态如何启动?你可以简单地启动一个作为Flink TaskManager或StateBend的一部分,然后它就会加入其他实例的网格吗?只是出于好奇:你已经为Ignite实现了一个状态后端了吗?还没有。Flink中的快照逻辑和Ignite中的直写逻辑有些不匹配。直写使快照成为不可操作的操作,因为所有内容都会立即自动同步,但这将打破一次逻辑障碍。另一方面,Ignite中的Write-behind也不能为我提供足够的刷新过程控制来进行适当的快照。为什么不能使用单分区Ignite缓存呢?它应该简化您的实现,因为Ignite将负责将数据放在何处以及从何处获取数据。如果任何节点离开,您将不会丢失任何数据,以防缓存有备份,因为所有数据都将为您自动重新平衡。因为我希望在每个节点上本地访问数据,Ignite的分区将数据按其认为合适的方式在节点之间传播,而不考虑Flink如何在其操作符之间对数据进行分区。每个节点上都有一个本地缓存,这意味着只要没有故障,Flink的分区就受到尊重。我面临的问题是,我无法强制每个物理节点上都存在一个Ignite节点,因此我无法保证每个节点上都存在一个缓存,Flink可能会在其中启动一个操作符。我现在正在研究Ignite on Slider来解决这个问题。Ignite姿态如何启动?您可以简单地启动一个作为Flink TaskManager或StateBend的一部分,然后它将加入其他实例的网格吗?