管理分布式集群?

问题描述

| 假设已经建立了一个cassandra集群。您有一个10 [TB]数据库,该数据库在10个节点之间均匀分布,一切运行平稳等。 假设您有100台计算机可供使用,每台计算机都试图从cassandra集群读取(不同)数据。此外,您还有许多需要不断运行的作业,每个作业都在不同的时间运行(显然,每个作业都需要在不同的计算机上运行)。 您如何管理所有这些任务/工作?您如何在机器之间分配任务?您如何在此过程中跟踪作业/机器? 是否有任何开源工具(最好是带有refer0ѭ客户端的工具)在Linux环境中帮助实现此目的?     

解决方法

您需要一个Grid / HPC框架来处理您的分布式基础结构并运行作业。 在unix / linux中,有两个系统可能对您有用。便携式批处理系统(PBS)或Condor   您如何管理所有这些   任务/工作? Condor和PBS都非常需要充当每个工作/任务的接受者,对于每个工作/任务,您都可以将优先级和区分级别相关联。群集的管理员根据这些标识符设置规则以安排作业。   您如何分配   机器之间的任务? Condor或PBS会为您完成此工作,您只需将作业提交到主节点并指定优先级,输入和输出等。 您可以定期检查作业何时完成,可以通过不同的机制订阅通知,也可以通过“ 1”进行阻止直到完成。   你怎么   跟踪作业/机器在   过程? PBS和Condor都具有类似“ѭ2”的命令,以列出在等待,运行或取消中排队的作业。如果该过程允许快照,它们还具有停止或取消作业的实用程序。 对于大型群集,我的建议是尝试Condor。解决问题完全像您遇到的问题已有很长时间了。这里有一些Condor + Python的例子 其他最近要考虑的解决方案是: Celery用于Python的分布式任务队列。 DiscoProject基于MapReduce范例的分布式计算框架。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...