我有数据项 1,2,3 ..... n 我需要对所有数据项运行顺序计算。 n的值很大,大约60万以上。数据取自大小通常超过 2GB 的文本文件
我有java程序来循环执行计算。处理时间通常需要超过24小时。我需要使用集群来最小化处理时间并将作业分发到不同的集群节点。
目前我正在本地计算机上使用 4 个 cpu 核心执行并行处理。工作被分割成碎片并交给 4 个核心。当一个核心完成一项工作时,就会加载下一部分。因此,将会有一个队列,并且 4 个核心并行处理该队列。
企业级java哪种集群应用好? 我需要更改我的程序代码吗? 集群程序是否可以在不修改java代码的情况下进行处理? 如何拆分作业并将作业分配到不同的集群? 我需要将数据文件上传到所有集群节点吗?
我将非常感谢您的帮助。
最佳答案
您可以使用 JMS 队列来代替本地队列。 ActiveMQ 是一个简单易用的 JMS 服务器。您可以有任意数量的监听器节点,并且只需将任务添加到此队列即可。
关于java集群用于巨大的顺序计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289127/