我有3个mesos主节点和87个mesos从节点。所有节点的操作系统都是ubuntu14.04。在每个mesos从节点上,我都安装了docker。我有两个不同的爬虫,每一个都被构建到一个docker容器中。现在我通过马拉松启动它们。
在mesos从属节点上,我没有发现两个爬虫容器在同一个节点上运行。每个节点只运行一个爬虫。
但我希望每个节点同时运行两个爬虫容器。我该怎么做(原谅我可怜的英语语法)。
下面的代码是marathonlaunchjson。
{
"container": {
"type": "DOCKER",
"docker": {
"image": "slyang/final_crawlerv19"
}
},
"id": "crawler-part",
"instances": "30",
"cpus": "0.5",
"mem": "150",
"uris": [],
"constraints": [["hostname", "UNIQUE"]],
"cmd": "ip=`wget http://ip.lustfield.net/ -O - -q`;echo $ip; sleep 20; echo $ip > /app/hostip;python user_info_fetcher.py part"
}
1条答案
按热度按时间nnt7mjpx1#
现在,您必须将两个容器打包到一个映像中,以便marathon在同一节点上同时启动它们。否则,你就需要一个类似于kubernetes“pod”的结构,它在marathon中还不存在。看到了吗https://github.com/mesosphere/marathon/issues/894
当您想在容器之间共享卷或其他资源时,额外的麻烦就来了。