我想建立一个中间层集群(mesos,dc/os,marathon)来运行不同的作业。运行这些作业的节点取决于作业的性质。例如,带有c代码的作业将在windows节点上运行。纯c++的作业将在ubuntu或freebsd上运行,以此类推。每一个都可以是一个集群。比如说,我想要2个windows节点和4个ubuntu节点。所以我想知道:
这能在一次部署中实现吗?或者我需要为我想要的reach环境设置不同的集群,一个用于windows,一个用于ubuntu等等。
无论是单个混合环境还是多个环境,mesos都提供了节点发回的信息的粒度。i、 我不想看到高层次的状态,如作业失败或运行等,我的作业写统计到系统上的一个文件,我想中继回“主用户界面”或层管理这一切
1条答案
按热度按时间cnh2zyt31#
这能在一次部署中实现吗?
如果你想使用dcos,目前官方只支持centos/redhat,对于ubuntu,你至少需要使用1604,它使用的是systemd而不是ubuntu的老新贵。但另外,dcos不支持windows。
所以对于您的场景,您必须直接使用mesos而不是使用dcos,然后使用一个集群,您可以在ubuntu或windows上设置不同的mesos代理。并且可以在代理注册到mesos master时添加角色或属性,这样框架就可以区分何时将作业分派给合适的代理。
顺便说一句,对于windows,您必须使用至少1.3.0支持windows的mesos,并且您必须自己使用microsoftvisualstudio在windows上构建它。
meso是否提供了节点发回的内容的粒度?
是的,但是您不能使用默认的命令执行器,您需要编写自己的执行器。
在executor中,可以设置要发回的值:
在您的框架中,您可以按如下方式接收:
下面是我从github找到的一个示例,它可以帮助您发送自己的数据。