谁正在杀死我的 Docker 容器?

谁正在杀死我的 Docker 容器?

Mesos → 已完成的任务 i Sandbox 在 stdout 文件中,我可以看到 killTask​​ 信号:

Received killTask for task sources.b4e2c8e6-5b42-11e7-aec0-024227901b13

stdout 文件的完整快照如下。您可以看到,即使在收到killTask信号后,我的进程仍在运行。即我的进程不会自行终止。

 
2017-06-27 14:16:08,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:16:18,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:16:28,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:16:38,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:16:48,337 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:16:58,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:17:08,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:17:18,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:17:28,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:17:38,334 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:17:48,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 1 条消息,迄今已发送 188 个字节
2017-06-27 14:17:58,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:18:08,334 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:18:18,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:18:28,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:18:38,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:18:48,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:18:58,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:19:08,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:19:18,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:19:28,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:19:38,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:19:48,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:19:58,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:20:08,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:20:18,334 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:20:28,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:20:38,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
2017-06-27 14:20:48,332 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节
已收到任务源的 killTask​​。b4e2c8e6-5b42-11e7-aec0-024227901b13
2017-06-27 14:20:58,333 INFO [Timer-0] com.informatica.vds.transport.ws.WSClient - appmonitor 已发送 2 条消息,迄今已发送 376 个字节

stderr 文件的完整快照如下:

I0627 19:42:51.959991 7613 fetcher.cpp:533] 获取器信息:{“cache_directory”:“\/tmp\/mesos\/fetch\/slaves\/632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0”,“items”:[{“action”:“BYPASS_CACHE”,“uri”:{“cache”:false,“executable”:false,“extract”:true,“value”:“file:\/\/\/etc\/docker.tar.gz”}}],“sandbox_di rectory”:“\ / var \ / lib \ / mesos \ / slaves \ / 632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0 \ / frameworks \ / 0e528b66-37aa-4d7a-933e-4638aabf494a-0000 \ / executors \ / sources.b4e2c8e6-5b42-11e7-aec0-024227901b13 \ / runs \ / 219c102b-28ae-41d5-b98f-11829315119e”}
I0627 19:42:51.963241 7613 fetcher.cpp:444] 获取 URI“file:///etc/docker.tar.gz”
I0627 19:42:51.963279 7613 fetcher.cpp:285] 直接提取到沙盒目录中
I0627 19:42:51.963295 7613 fetcher.cpp:222]获取 URI“file:///etc/docker.tar.gz”
I0627 19:42:51.964923 7613 fetcher.cpp:207]已将资源“/etc/docker.tar.gz”复制到“/var/lib/mesos/slaves/632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.b4e2c8e6-5b42-11e7-aec0-024227901b13/runs/219c102b-28ae-41d5-b98f-11829315119e/docker.tar.gz”
I0627 19:42:52.070482 7613 fetcher.cpp:123] 将'/var/lib/mesos/slaves/632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.b4e2c8e6-5b42-11e7-aec0-024227901b13/runs/219c102b-28ae-41d5-b98f-11829315119e/docker.tar.gz'提取到'/var/lib/mesos/slaves/632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.b4e2c8e6-5b42-11e7-aec0-024227901b13/runs/219c102b-28ae-41d5-b98f-11829315119e'
I0627 19:42:52.070533 7613 fetcher.cpp:582] 将“file:///etc/docker.tar.gz”提取到“/var/lib/mesos/slaves/632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.b4e2c8e6-5b42-11e7-aec0-024227901b13/runs/219c102b-28ae-41d5-b98f-11829315119e/docker.tar.gz”
I0627 19:42:56.096325 7643 exec.cpp:162]版本:1.3.0
I0627 19:42:56.101958 7647 exec.cpp:237]执行程序在代理 632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0 上注册
警告:您的内核不支持交换限制功能或 cgroup 未安装。没有交换,内存会受到限制。
  % 总计 % 已接收 % Xferd 平均速度 时间 时间 时间 当前
                                 Dload 上传 总耗时 剩余速度

  0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
1002211001381008386575207 --:--:-- --:--:-- --:--:-- 9200
E0627 19:51:03.219312 7652 process.cpp:951] 无法接受套接字:未来被丢弃

消息您的内核不支持交换限制功能或未安装 cgroup。没有交换,内存就会受到限制。无法接受套接字:未来被丢弃似乎是导致我的容器损坏的罪魁祸首。

我的问题是,是谁在 5 到 10 分钟后一次又一次地杀死我的容器?

我还更新了/etc/default/grub文件

GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"

并重新启动了我的系统但没有进展。

对这个问题有什么见解吗?

我的 Ubuntu VMWare 配置如下:

  1. 分配核心 3
  2. 内存:6GB
  3. 硬盘:32 GB
  4. 我只运行一个容器,但它几分钟后就退出了。

[编辑:从 mesos UI 添加 stderr 文件内容:/var/lib/mesos/slaves/29df799b-4797-41df-a005-465f211d286b-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000 executors/sources.a634642c-5bbc-11e7-ba8b-024239f32c24/runs/1bda209c-c2b8-4bb5-a41b-26361e00a284]

添加另一项作业的 stderr 文件内容。

I0628 10:15:45.951104 4357 fetcher.cpp:533] Fetcher 信息:{“cache_directory”:“\/tmp\/mesos\/fetch\/slaves\/29df799b-4797-41df-a005-465f211d286b-S0”,“items”:[{“action”:“BYPASS_CACHE”,“uri”:{“cache”:false,“executable”:false,“extract”:true,“value”:“file:\/\/\/etc\/docker.tar.gz”}}],“sandbox_di rectory”:“\ / var \ / lib \ / mesos \ / slaves \ / 29df799b-4797-41df-a005-465f211d286b-S0 \ / frameworks \ / 0e528b66-37aa-4d7a-933e-4638aabf494a-0000 \ / executors \ / sources.a634642c-5bbc-11e7-ba8b-024239f32c24 \ / runs \ / 1bda209c-c2b8-4bb5-a41b-26361e00a284”}
I0628 10:15:45.953835 4357 fetcher.cpp:444] 获取 URI“file:///etc/docker.tar.gz”
I0628 10:15:45.953881 4357 fetcher.cpp:285] 直接提取到沙盒目录中
I0628 10:15:45.953974 4357 fetcher.cpp:222]获取 URI“file:///etc/docker.tar.gz”
I0628 10:15:45.956663 4357 fetcher.cpp:207] 将资源“/etc/docker.tar.gz”复制到“/var/lib/mesos/slaves/29df799b-4797-41df-a005-465f211d286b-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.a634642c-5bbc-11e7-ba8b-024239f32c24/runs/1bda209c-c2b8-4bb5-a41b-26361e00a284/docker.tar.gz”
I0628 10:15:46.0​​61069 4357 fetcher.cpp:123] 将'/var/lib/mesos/slaves/29df799b-4797-41df-a005-465f211d286b-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.a634642c-5bbc-11e7-ba8b-024239f32c24/runs/1bda209c-c2b8-4bb5-a41b-26361e00a284/docker.tar.gz'提取到'/var/lib/mesos/slaves/29df799b-4797-41df-a005-465f211d286b-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.a634642c-5bbc-11e7-ba8b-024239f32c24/runs/1bda209c-c2b8-4bb5-a41b-26361e00a284'
I0628 10:15:46.0​​61148 4357 fetcher.cpp:582] 已将“file:///etc/docker.tar.gz”提取到“/var/lib/mesos/slaves/29df799b-4797-41df-a005-465f211d286b-S0/frameworks/0e528b66-37aa-4d7a-933e-4638aabf494a-0000/executors/sources.a634642c-5bbc-11e7-ba8b-024239f32c24/runs/1bda209c-c2b8-4bb5-a41b-26361e00a284/docker.tar.gz”
I0628 10:15:49.898803 4389 exec.cpp:162]版本:1.3.0
I0628 10:15:49.903390 4390 exec.cpp:237] 执行程序在代理 29df799b-4797-41df-a005-465f211d286b-S0 上注册
警告:您的内核不支持交换限制功能或 cgroup 未安装。没有交换,内存会受到限制。
  % 总计 % 已接收 % Xferd 平均速度 时间 时间 时间 当前
                                 Dload 上传 总耗时 剩余速度

  0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
1002211001381008353853239 --:--:-- --:--:-- --:--:-- 11500
W0628 10:15:49.903390 4389 logs.cpp:91] RAW:从用户 0 的进程 3287 接收到信号 SIGTERM;退出

今日文件中没有创建新日志文件/var/lib/mesos-master.ERROR内容/var/log/mesos-master.WARNING

日志文件创建于:2017/06/28 10:04:56
运行机器:ubuntu
日志行格式:[IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
W0628 10:04:56.387049 3193 authenticator.cpp:512] 未提供任何凭据,身份验证请求将被拒绝
W0628 10:14:56.617103 3221 master.cpp:2011] 代理 632f9d21-ae71-4cca-95e4-63e2b3dbd78e-S0 (ubuntu) 在主故障转移后 10 分钟内未重新注册;将其标记为无法访问

文件内容/var/log/mesos-slave.WARNING与 if 文件相同mesos-slave.ERROR。文件内容/var/log/mesos-slave.ERROR

日志文件创建于:2017/06/28 10:05:00
运行机器:ubuntu
日志行格式:[IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
E0628 10:05:00.712286 3287 shell.hpp:107] 命令“hadoop version 2>&1”失败;这是输出:
sh: 1: hadoop: 未找到
E0628 10:24:45.502921 3326 slave.cpp:4496] 无法更新执行器“sources.a634642c-5bbc-11e7-ba8b-024239f32c24”的容器 1bda209c-c2b8-4bb5-a41b-26361e00a284 的资源,正在运行任务 sources.a634642c-5bbc-11e7-ba8b-024239f32c24 进行终端任务状态更新,销毁容器:无法确定“cpu”子系统的 cgroup:无法读取 /proc/4469/cgroup:无法打开文件:没有此文件或目录
E0628 10:33:45.789072 3327 slave.cpp:4496] 无法更新执行器“sources.e7e069ed-5bbd-11e7-ba8b-024239f32c24”的容器 858170ce-0775-48be-8c85-3a1dbf320569 的资源,正在运行任务 sources.e7e069ed-5bbd-11e7-ba8b-024239f32c24 进行终端任务的状态更新,销毁容器:无法确定“cpu”子系统的 cgroup:无法读取 /proc/5215/cgroup:无法打开文件:没有此文件或目录

我观察到以下消息:

Failed to read /proc/5215/cgroup: Failed to open file: No such file or directory

仅当容器/任务被终止时才会出现。而这些文件存在于当前正在运行的容器中。谢谢。

答案1

看来 marathon 依赖用户来实施健康检查。也就是说,如果我们在应用程序配置中提供健康检查,我们必须实施它。我删除了我在应用程序配置中提供的所有健康检查。此后,marathon 显示应用程序健康状况未知,但现在 marathon(特别是 mesos-slave)不会终止任务。

相关内容