寻求分布式任务管理的开源linux工具

Posted

技术标签:

【中文标题】寻求分布式任务管理的开源linux工具【英文标题】:Seeking open source linux tools for distributed task management 【发布时间】:2009-07-02 04:04:03 【问题描述】:

我们的架构有几百台服务器,其中大约 200 台服务器 流程(全部内部开发)分布在它们之上,一些受控 由 crontab 和一些作为守护进程运行的。一些服务器在“组”中 其中所有服务器的配置相同,而其他服务器具有 自定义配置。我的任务是集中控制 这些任务。

一个用例是用户通过 ssh 进入任何盒子都必须能够控制 网络上的任何进程接近实时,通过启动 并停止相关的守护进程或重建并重新安装 crontab。已经有各种零碎的东西来驱动 所有这些都来自数据库,但尚未考虑整体架构 通过。

我希望我会编写一个将在每台服务器上运行的守护程序,并且 在对等网络、数据库和守护进程之间进行调解 crontabs。

我正在调查哪些技术可能有助于和支持这个项目。

我想我正在寻找点对点可靠的通信技术。 虽然我不是 100% 确定这就是我需要的。我的雷达上的事情 包括 Spread、JXTA、Zookeeper 和 JMS。

人们对这些技术有什么体验,以及其他什么 我应该检查技术吗?正如我所看到的,我将拥有非常 低数据速率(最多每小时几千字节)。但可靠性 成熟的 API 很重要。

【问题讨论】:

【参考方案1】:

抱歉,这不是对您任何问题的真正直接答案,但您所描述的内容听起来很像您最终会做很多重复的工作 - 特别是如果只是考虑“用户 ssh 进入一个盒子”部分。 (双关语无意,但现在我注意到了,耶!=)

您是否看过 http://www.cfengine.org 或 http://www.theether.org/pssh/ 之类的项目?

【讨论】:

我们已经使用 cfengine 来配置我们的服务器。这项工作处于稍高的水平:在服务器运行时操纵进程。 pssh 很有趣,所以感谢您的指点,但它更像是一个用户级工具。我需要一个 API,以及内置的可靠性。 您可以使用 cfengine 进行持续的配置更新,而无需重新启动。虽然工作量很大。我觉得木偶很好看。它就像 cfengine,但让我们做更多的事情。 IIRC,它可以查看进程表以检查是否正在运行。

以上是关于寻求分布式任务管理的开源linux工具的主要内容,如果未能解决你的问题,请参考以下文章

开源分布式任务调度工具,和你一起记住生命中每一个重要的时刻

Linux下分布式任务调度XXL-JOB基础环境部署

分布式队列Celery

分布式定时任务调度框架实践

分布式任务执行之mpirun

最新开源分布式定时任务调度系统