Cak*_*mox 30 cron job-scheduler torque condor
从我记事起,我们就一直在使用 cron 来处理我们所有的作业调度需求。从存储克隆/快照到数据库报告、日常系统报告再到监控检查,所有内容都通过 cron 安排在数百台服务器上。
缺点非常明显:难以管理作业,没有简单的方法来创建依赖项(尤其是跨不同服务器),当然,不可避免地有人“暂时”跳过作业但后来忘记删除注释。
我们尝试了一个商业产品,但最终它被认为是从 cron 升级的太贵了。
我看到了其他选项,例如 SLURM、Oracle Grid Engine、Torque/Maui、Quartz、DIET、Condor,它们似乎面向更大、更同质的集群环境,其作业可以在任意数量的类似节点上运行:网格计算之类的。我们的环境相当混合(各种 Linux、AIX 和 FreeBSD),我们需要在不同类型的系统之间创建依赖关系(例如,Linux 机器上的作业可能需要确定 AIX 机器上的作业是否应该运行。)
有没有人有从 cron 迁移到更集中管理的产品的经验?有什么选择软件的技巧,还是开源或商业化更好?
小智 11
Condor、OGE 和 Torque 都可以帮助您实现目标,但只有 Condor 具有内置的依赖管理和DAGMan 工具。DAGMan 允许您设置有向无环图来描述您的工作流程,并且经理负责在您的工作流程中移动作业并评估流程中每个步骤的通过/失败结果。Condor 与平台无关,这意味着 DAGMan 也是如此,当父步骤在 Linux 或 Windows 上运行时,您当然可以在 AIX 上运行一个子步骤。DAGMan 不关心作业在哪里运行,只关心退出代码是通过还是失败。
有什么选择软件的技巧,还是开源或商业化更好?
有一些警告,我认为这个领域的免费社区非常值得一看。
OGE现在处于一个奇怪的空间。运行 Oracle 生产的 GE 变体不再是免费的,Oracle 也不再提供它写回 GE SCC 的代码,但是存在一些代码的分支,它们试图作为免费的开源项目继续使用。Univa 尤其带头,聘请前 Sun GE 开发人员继续致力于开源、免费提供的 GE 变体。Grid Engine 有两个优点:易于设置,它可以处理短时间运行(<2 分钟)的作业,而不会在降低吞吐量的作业上分配大量调度开销。最大的缺点是对 Windows 的支持不是很好。很多年前,我们中的一些人努力将其移植到 Cygwin 上运行,但它肯定不如原生的好。
在你提到的三种技术中,Condor 是我最喜欢的。Condor 周围有一个强大的社区,软件非常成熟(现在已经超过 20 年了)。本机 Windows 和 POSIX 操作系统支持意味着它可以在任何地方很好地运行。前面提到的 DAGMan 只是 Condor 附带的众多优秀作品之一。设置起来可能有点复杂,但一旦启动并运行,它就会坚如磐石。它有一种非常灵活的语言来完成工作 <-> 机器匹配和为你的资源建立你的使用规则。它还支持机器上的动态配置,让作业选择他们需要多少机器资源,然后将差异重新通告为仍然可用。它支持全局资源计数器,因此您可以限制软件许可证等内容。而且当然,它有 DAGMan,这是一个非常强大的工作流管理工具。Condor 的缺点是短期运行作业的调度开销可能很繁重。理想情况下,您希望作业运行时间超过 2 分钟,否则调度开始成为系统中作业时间的重要组成部分。
扭矩更小众。恐怕我对此知之甚少。与 Condor 相比,它更像是 Grid Engine。@warren 提到的付费附加组件可以扩展基本的免费 Torque 功能。
如果您想尝试这三种技术并了解它们如何处理您的特定工作负载,CycleCloud可以启动安全的、虚拟化的、预先配置有 Condor、GridEngine 或 Torque 的池——所以没有时间花在弄清楚这些事情上就你而言。启动每种技术的小型池并在具有代表性的工作负载上尝试它们需要几美元。(免责声明:我为 Cycle Computing 工作,我们制作 CycleCloud)
Chronos看起来很有前途。
Chronos 是 Airbnb 的 cron 替代品。它是一个运行在 Apache Mesos 之上的分布式容错调度程序。您可以使用它来编排作业。它支持自定义 Mesos 执行器以及默认命令执行器。因此,默认情况下,Chronos 执行 sh(在大多数系统 bash 上)脚本。Chronos 可用于与 Hadoop(包括 EMR)等系统进行交互,即使执行的 Mesos 从站没有安装 Hadoop。包含的包装脚本允许传输文件并在后台远程机器上执行它们,并使用异步回调通知 Chronos 作业完成或失败。
我还使用 Jenkins 作为 cron 替代品取得了巨大的个人成功。它可以很好地处理在远程服务器上执行的作业。这是一篇关于它的文章:http ://www.22ideastreet.com/blog/2014/05/02/replace-local-cron-with-jenkins/
| 归档时间: |
|
| 查看次数: |
6913 次 |
| 最近记录: |