当前位置: 首页 > 知识库问答 >
问题:

在spring批处理集成中,主节点是否与从节点共享相同的分区,或者我们是否可以与特定节点共享特定的分区

包子航
2023-03-14

我已经实现了与远程分区的spring批处理集成。在这里,我有单独的节点(2个节点)。

每个节点具有相同的从机和主机配置。我将从node1或Node2触发批处理。

假设我是从node1触发的,所以node1上的主机必须向node1从机分配很少的分区,向node2从机分配很少的分区。

在一个表中,我的ID为1-2000。在第一个分区中,我有1-100个。第二分区101-200依此类推。

因此,从这些p0到p10应该到node1,p11到p20应该到Node2。我应该如何配置这个。

如果你需要我配置知道我会发布

共有1个答案

乜璞瑜
2023-03-14

它取决于工人的数量(实际上还有许多其他参数)。在您的示例中,您有20个分区。如果您创建了20个工作者,那么每个分区都有可能由一个工作者处理,但这并不保证。在远程分区中,分区器使用分区元数据创建执行上下文,并在队列中发送它们(作为stepExecutionRequests)。现在,这些执行请求是如何在工作者之间分布的(即,工作者如何从队列中拾取它们)就是您的问题的答案。

 类似资料:
  • 输入如下: 一个,每个子数组包含2个int,即{parent,child},意味着有一个从->的路径。 例如 我的想法: 将输入数据表示为一个DAG图,其中数据存储在像这样的映射中,其中key是顶点,value是它的邻接列表。并且图形中的方向是相反的(与输入数据相比)为,以便于查找parent. 使用函数查找单个顶点的所有父节点(直接和间接),并返回. 因此,只需为每个输入顶点调用一次,然后比较返

  • k8s节点关联文档解释了如何通过首先用标签标记节点并使用nodeSelector选择节点来将pod部署到特定节点。 但是,我有一个用例,我在集群中有40-50个部署,我希望向集群添加一个新节点,并将该节点设置为专用于其中一个部署/吊舱,而不更改所有那些没有指定nodeSelector的部署 我唯一能想到的是污染节点,但如果我这样做了,没有一个豆荚会被调度到那里。 这里有没有一个更好的方法来实现这个

  • 我正在使用带有datastax驱动程序的Cassandra数据库。我需要从Cassandra批量读取2000行的内容。我的用例是,我在请求中获取id列表,这些id是我在Cassandra中的分区键。我想知道生成2000个线程并从Cassandra并行获取数据是否是个好主意(在这种情况下,读取数据将有效,因为它只到达一个节点),或者是否有可能找到一种方法来对存在于同一节点中的id进行分组,以便我可以

  • 假设一个组织有两个数据中心(为简单起见命名为“A”和“B”),每个数据中心运行多个节点,并且所有这些节点上都有一个Hazelcast集群。假设此集群中有一个分布式地图,其配置为备份计数为1。 是否有办法配置Hazelcast分布式地图,以便将数据中心a中的节点备份到数据中心B中的节点上,反之亦然?这意味着如果丢失单个数据中心,地图数据(和备份)不会丢失?

  • 我试图确定m元树中的所有节点是否都已满。我想我已经大致了解了,但我不确定。以下是我到目前为止所做的。 在我的TreeNode类中,我有以下方法。 其中,Num儿童是数组节点[](或仅nodes.length)中可能的子节点总数,节点[]是当前节点的所有子节点的数组。此外,知道我的TreeNodes是双链接的可能会有所帮助,这样如果需要,我就可以检索当前节点的父节点。 然后,在我的树类中,我有以下递