我有一个免费的OpenShift帐户,默认3档。在此我使用OpenShift Web控制台安装了WildFly 8.1映像。我将最小和最大缩放设置为3。
现在发生的事情是OpenShift将创建3个JBoss WildFly实例:
奇怪的是,在负载均衡器配置(haproxy.conf)中默认禁用了入口节点上的JBoss WildFly实例。但是,每当我在相关的git仓库中提交时,OpenShift仍然会将war存档部署到它。
这里存在的额外问题是,由于极大数量的最大用户进程(通过ulimit -u为250),入口节点上的这个JBoss WildFly实例甚至无法启动。在启动期间,JBoss WildFly会抛出随机的'java.lang.OutOfMemoryError:无法创建新的本机线程'(并且没有,内存很好,这是操作系统进程限制)。
因此,部署过程将挂起。
总结一下:
现在我的问题:
如何修改部署程序进程(包括gear start
命令)以不尝试部署到入口节点上的JBoss WildFly实例?
答案 0 :(得分:0)
当应用程序从2档扩展到3档时,HAproxy会停止将流量路由到头盔上的应用程序并将其路由到另外两个档位。这可以确保HAproxy获得尽可能多的CPU,因为头盔上的应用程序(运行HAproxy)不再提供请求。
您看到的内存不足消息可能不是实际的内存不足问题,而是与ulimit https://bugzilla.redhat.com/show_bug.cgi?id=1090092相关的错误。