2016-06-09 2 views
0

Я запускаю приложение зависимостей в марафоне, один - это mongo DB и другое приложение для голосования karesti. Я развернул эти приложения в марафоне в контейнере докеров. Сначала я развернул mongo db, а затем приложение для голосования.Ошибка запуска контейнера Docker: контейнер вышел из строя: вышла со статусом 1

mongo db docker image отлично работает в марафоне. проблема с приложением для голосования .... приложение для голосования переключается между режимом работы и непрерывным режимом приостановки. В связи с этим номер порта также изменяется в каждом развертывании, а новый контейнер создает докер для одного и того же изображения.

Здесь у меня есть DNS-сервер mesos для обнаружения службы.

Ошибка от марафона:

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]: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 

Я не в состоянии определить, где это вопрос, почему приложение голосования было не удалось в рабских ,

Если я запустил голосование с голого компьютера ubuntu, я могу получить доступ к приложению, которое связано с базой данных, и все работает нормально. Который показывает, что никаких проблем с приложением, никаких проблем с изображением докера.

Мой подозреваемый в том, что что-то происходит в slave-сервере mesos, который не может обрабатывать или не может подключиться к базе данных.

my 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

Вы проверили журналы докеров-деамонов на своем подчиненном устройстве? 'sudo journalctl -ue docker' –

+0

Вдобавок вы можете проверить журналы неисправных контейнеров. Открытый пользовательский интерфейс Mesos, например. 'Https: //mesos.example.com: 5050 /'. В разделе «Завершенные задачи» вы должны увидеть неудавшихся исполнителей. Нажмите «Песочница», где вы найдете 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

I спасибо за ответ я получил ...

Я нашел решение этой проблемы

DNS-ищет правый IP-адрес из файлов /etc/resolv.conf и/и т.д./hosts

Я удалил локальный IP-адрес из файла/etc/hosts, где DNS пытался решить из 127.0.0.1, который неизвестен внешнему миру. Я предоставляю свой приватный IP-адрес виртуальной машины, который был указан в файле conf conf DNS

+1

Вы не должны удалять '127.0.0.1', потому что другие службы могут полагаться на него. Лучшим решением было бы добавить сопоставление IP HOSTNAME с внешним ip-адресом ... – Tobi

Смежные вопросы