2016-06-09 85 views
0

我在马拉松运行依赖项应用程序,一个是mongo DB,另一个是karesti投票应用程序。我已经将这些应用程序部署在码头集装箱内的马拉松中。首先,我部署了mongo db,然后部署了投票应用程序。码头集装箱运行错误:容器退出错误:退出状态1

mongo db docker image在马拉松中工作正常。 问题是与投票应用程序.... 投票应用程序正在运行模式和挂起模式之间不断切换。由于这个原因,端口号在每个部署中也发生了变化,并且一个新容器正在为同一图像创建泊坞窗。

这里我有服务发现的mesos DNS。从马拉松

错误:

Docker container run error: Container exited on error: exited with status 1

投票应用程序错误:

Received killTask for task cmvoting.dff585d5-2bc5-11e6-a4c0-0242efa3f3aa

Log message from mesos slave: 
I0607 07:24:04.297161 1957 slave.cpp:3243] Handling status update TASK_RUNNING (UUID: ed039d5b-ef25-45e5-962f-367feaa33ae5) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 from executor(1)@127.0.0.1:50983 
I0607 07:24:04.299815 1957 status_update_manager.cpp:320] Received status update TASK_RUNNING (UUID: ed039d5b-ef25-45e5-962f-367feaa33ae5) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 
I0607 07:24:04.300282 1957 status_update_manager.cpp:824] Checkpointing UPDATE for status update TASK_RUNNING (UUID: ed039d5b-ef25-45e5-962f-367feaa33ae5) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 
I0607 07:24:04.391424 1957 slave.cpp:3641] Forwarding the update TASK_RUNNING (UUID: ed039d5b-ef25-45e5-962f-367feaa33ae5) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 to [email protected]98:5050 
I0607 07:24:04.391826 1957 slave.cpp:3551] Sending acknowledgement for status update TASK_RUNNING (UUID: ed039d5b-ef25-45e5-962f-367feaa33ae5) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 to executor(1)@127.0.0.1:50983 
I0607 07:24:04.421507 1951 status_update_manager.cpp:392] Received status update acknowledgement (UUID: ed039d5b-ef25-45e5-962f-367feaa33ae5) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 
I0607 07:24:04.421766 1951 status_update_manager.cpp:824] Checkpointing ACK for status update TASK_RUNNING (UUID: ed039d5b-ef25-45e5-962f-367feaa33ae5) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 


I0607 07:24:18.299789 1956 slave.cpp:3243] Handling status update TASK_FAILED (UUID: e20d07aa-88e1-497b-9c51-79252c279f27) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 from executor(1)@127.0.0.1:50983 
I0607 07:24:18.321115 1953 status_update_manager.cpp:320] Received status update TASK_FAILED (UUID: e20d07aa-88e1-497b-9c51-79252c279f27) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 
I0607 07:24:18.321229 1953 status_update_manager.cpp:824] Checkpointing UPDATE for status update TASK_FAILED (UUID: e20d07aa-88e1-497b-9c51-79252c279f27) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 
I0607 07:24:18.338953 1956 slave.cpp:3641] Forwarding the update TASK_FAILED (UUID: e20d07aa-88e1-497b-9c51-79252c279f27) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 to [email protected]:5050 
I0607 07:24:18.339341 1956 slave.cpp:3551] Sending acknowledgement for status update TASK_FAILED (UUID: e20d07aa-88e1-497b-9c51-79252c279f27) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 to executor(1)@127.0.0.1:50983 
I0607 07:24:18.350075 1954 status_update_manager.cpp:392] Received status update acknowledgement (UUID: e20d07aa-88e1-497b-9c51-79252c279f27) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 
I0607 07:24:18.350272 1954 status_update_manager.cpp:824] Checkpointing ACK for status update TASK_FAILED (UUID: e20d07aa-88e1-497b-9c51-79252c279f27) for task voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3 of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 
I0607 07:24:19.301136 1951 slave.cpp:3769] executor(1)@127.0.0.1:50983 exited 
I0607 07:24:19.327797 1953 docker.cpp:2011] Executor for container 'd4447d21-23da-45db-a9aa-f6b2d75e2db7' has exited 
I0607 07:24:19.327910 1953 docker.cpp:1731] Destroying container 'd4447d21-23da-45db-a9aa-f6b2d75e2db7' 
I0607 07:24:19.328034 1953 docker.cpp:1859] Running docker stop on container 'd4447d21-23da-45db-a9aa-f6b2d75e2db7' 
I0607 07:24:19.328732 1958 slave.cpp:4120] Executor 'voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3' of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 exited with status 0 
I0607 07:24:19.328843 1958 slave.cpp:4224] Cleaning up executor 'voting.cfc5c791-2c80-11e6-b454-0242f9dcd7c3' of framework 4925c40b-fb4b-4ec7-91fc-3ffc16e1bac8-0001 at executor(1)@127.0.0.1:50983 

我不能够确定哪里是问题,为什么投票程序是被失败的奴隶。

如果我从裸机上运行投票,我可以访问已连接到数据库的应用程序,并且一切工作正常。这表明没有问题的应用程序,没有与码头图像问题。

我的怀疑是,有些事情发生在无法处理或可能无法连接到数据库的mesos slave上。

我的mongo db监听端口27017和投票应用监听端口9000.我可以看到只有端口27017正在使用,当我执行netstat -anp | grep的27017

命令用来运行从设备

sudo ./bin/mesos-slave.sh --master=zk://172.31.36.222:2181/home/ubuntu/mesos --executor_registration_timeout=5mins --containerizers="docker,mesos" 

用于运行马拉松的命令是

./bin/start --master zk://172.31.36.222:2181/home/ubuntu/mesos --zk zk://172.31.36.222:2181/home/ubuntu/marathon-1.1.1 --task_launch_timeout 600000 

请让我知道如果你需要的任何更多的信息或清晰问题

在此先感谢您的帮助....

+0

你是否检查过你的slave上的docker deamon日志? 'sudo journalctl -ue docker' –

+0

此外,您可以检查失败容器的日志。 Open Mesos UI例如'的https://mesos.example.com:5050 /'。 在“已完成的任务”一节中,您应该看到失败的执行程序。点击“Sandbox”,你会发现stderr和stdout。 –

回答

1

O问题的一部分可能是你的奴隶绑定到IP地址127.0.0.1。请尝试在你的奴隶设置非本地地址是这样的:

echo 172.31.36.223 | sudo tee /etc/mesos-slave/ip 
sudo cp /etc/mesos-slave/ip /etc/mesos-slave/hostname 

替换172.31.36.223与你的奴隶的真实IP地址。

另一部分可能是投票应用程序无法连接到MongoDB,因为端口号不同。您还应该发布您的Marathon应用程序定义,以便能够验证这一点。

如果您只有一个从站,您可以在HOST组网模式下运行这两个应用程序,以便您可以静态定义端口号。如果您使用桥接模式,则需要使用某种服务发现机制,以便投票应用可以找到MongoDB服务器。

0

我感谢我所得到的回应......

我找到了解决这个问题

的DNS查找从文件/etc/resolv.conf中和/ etc正确的IP地址/ hosts

我从/ etc/hosts文件中删除了本地主机IP地址,其中DNS试图从127.0.0.1中解析出来,这是外部世界未知的。我提供了我的虚拟机私人IP地址,它已经在DNS conf文件中提供了相同的内容

+1

您不应该删除'127.0.0.1',因为其他服务可能依赖它。更好的解决方案是将IP HOSTNAME映射与外部IP地址相加... – Tobi

相关问题