Tag: mesos

通过mesos-marathon部署集装箱化的node.JS应用程序

我正在使用Marathon部署我的Docker容器化的node.js应用程序。 我的马拉松应用程序规范如下: { "id": "<some-name>", "cmd": null, "cpus": 1, "mem": 2800, "disk": 30720, "instances": 1, "container": { "docker": { "image": "<some-docker-registry-IP>:5000/<repo>", "network": "BRIDGE", "privileged": true, "forcePullImage": true, "parameters": [ { "key": "net", "value": "host" } ], "portMappings": [ { "containerPort": <some-port>, "hostPort": <some-port>, "protocol": "tcp", "name": null } ] }, "type": "DOCKER" } } 然而问题是,这导致重新启动我的服务器的应用程序部署一旦内存不足。 […]

奇怪的ECONNRESET错误我无法弄清楚

我不知道,如果这是关于koa,或者是一些其他npm模块或别的东西的问题。 我要从这里开始。 如果这是错误的地方,我会把它移到适当的地方。 我只需要把它写在某个地方,因为它让我发疯。 所以这个问题。 我正在用koa v1编写REST api。 我们在Docker镜像中运行节点服务器。 我们有一个端点,开始导入并返回状态200,并带有消息“import started”,当导入完成时,我们发送Slack消息来通知我们。 所以首先我testing了本地机器上的服务器,一切正常(端点不会引发任何错误)。 然后我build立了docker形象。 我运行容器localy,一切正常(端点不会引发任何错误)。 我把我的图像部署到Mesos环境,一切工作到目前为止。 容器运行,每个端点工作,除了导入端点。 当我调用它,几秒钟后(5到10),我得到ECONNRESET错误,正在运行的容器被杀死,新的运行实例被启动。 所以导入被终止。 一开始,我们为docker容器分配了128MB内存,这似乎足够了。 导入错误发生后,我们以为OOM可能会杀死进程。 所以我们决定检查dmesg,找不到与OOM相关的日志条目和正在运行的容器的进程。 然后我们检查了localy容器的ram使用情况(用htop),发现它使用了aprox。 250+ MB,所以我们决定在马拉松configuration中添加更多内存(512 MB)。 然而,这并没有帮助,同样的错误发生。 由于错误不够明确,我们安装了longjohn模块,所以我们可以得到更详细的错误信息。 这让我们获得了更多的信息,但是没有我们想象的那么多。 Error: read ECONNRESET at exports._errnoException (util.js:1026:11) at TCP.onread (net.js:569:26) ——————————————— at Application.app.callback (/src/node_modules/koa/lib/application.js:130:45) at Application.app.listen (/src/node_modules/koa/lib/application.js:73:39) at Promise.then.result (/src/server.js:97:13) Error: read ECONNRESET at exports._errnoException (util.js:1026:11) at TCP.onread […]

如何访问在Mesos上运行的Web应用程序?

我对Mesos很新,而且我仍然试图围绕它的概念和想法。 到目前为止,我想我已经明白了,基本上,Mesos试图抽象出你的数据中心,并将其作为一台大型计算机呈现。 使用Mesos + Docker集成 ,基本上可以在Mesos上运行任何应用程序,只要你的应用程序可以从Docker容器中运行即可。 这使我期望我可以使用Mesos来运行Node.js应用程序。 这不应该太难设置。 我得知,我需要创build一个新的应用程序,设置它的实例&co。,然后去做。 然后,Mesos部署我的应用程序,并负责将其分发到数据中心。 当向Mesos请求端点时,我可以找出创build的IP地址/主机名和端口。 但是,当然,我希望Web应用程序可以在特定的域或子域中使用,理想的情况是使用端口80或443,也使用负载均衡和高可用性。 Mesos中有什么可以使用的吗?