bugouyongxin commented on issue #9758:
URL: https://github.com/apache/seatunnel/issues/9758#issuecomment-3227917307

   > Has master reported an error? How do you determine that master's memory is 
insufficient? Can all tasks not be submitted after memory is insufficient?
   
   引用官方的描述
   “
   在SeaTunnel中,我们使用IMap(一种分布式的Map,可以实现数据跨节点跨进程的写入的读取 有关详细信息,请参阅 [Hazelcast 
Map](https://docs.hazelcast.com/imdg/4.2/data-structures/map)) 
来存储每个任务及其task的状态,以便在任务所在节点宕机后,可以在其他节点上获取到任务之前的状态信息,从而恢复任务实现任务的容错。
   
   默认情况下Imap的信息只是存储在内存中,我们可以设置Imap数据的复本数,具体可参考(4.1 
Imap中数据的备份数设置),如果复本数是2,代表每个数据会同时存储在2个不同的节点中。一旦节点宕机,Imap中的数据会重新在其它节点上自动补充到设置的复本数。但是当所有节点都被停止后,Imap中的数据会丢失。当集群节点再次启动后,所有之前正在运行的任务都会被标记为失败,需要用户手工通过seatunnel.sh
 -r 指令恢复运行。
   
   
为了解决这个问题,我们可以将Imap中的数据持久化到外部存储中,如HDFS、OSS等。这样即使所有节点都被停止,Imap中的数据也不会丢失,当集群节点再次启动后,所有之前正在运行的任务都会被自动恢复。
   ”
   
   内存不足是因为没把备份数据进行持久化,后边把数据持久化到本地,发现执行速度没有之前速度快了,会产生积压任务的情况。请问有什么好办法优化一下吗?
   以下是持久化配置
   
   
   map:
     engine*:
       map-store:
         enabled: true
         initial-mode: EAGER
         factory-class-name: 
org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory
         properties:
           type: hdfs
           namespace: /tmp/seatunnel/imap
           clusterName: seatunnel-cluster
           storage.type: hdfs
           fs.defaultFS: file:///
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to