AWS PaaS私有集群部署参考指南

常见问题

如何关闭AWS控制台的shell服务?

当AWS的App服务以后台无终端的进程方式启动时(如Linux的nohup、开机自启动),应当关闭AWS为终端控制台提供的shell交互功能。方法:

配置文件

%AWS-HOME%/bin/conf/server.xml

修改shell参数为false

<connector name="mainServer" port="10008" maxClient="500" connectionTimeout="1200000"
        shell="false" sessionTimeout="1800000" sessionIdleTime="1200000"  />

如何将每个节点服务设置为Linux开机启动?

我们假设%AWS-HOME%/data/awsinst/

  1. 完成集群脚本创建和调试
  2. 修改/etc/rc.d/rc.local,增加
#AWS App Server
/data/cluster/aws_startup.sh

#AWS Web Server
/data/cluster/http_startup.sh

如何避免生产环境下自动发现脏节点?

脏节点是指不是生产环境的测试机或开发机节点,产生的原因是集群组group设置不唯一。

由于AWS PaaS的集群部署采用了免运维的自动化监控架构,能够自动加入和剔除失效节点,如果那些节点也被生产环境自动加入到负载执行中,势必会带来不可预测的风险。避免方法如下:

  • 设置特定的multicastPort组播端口号,区别于测试或开发环境
  • 设置特定的group组名,区别于测试或开发环境
  • AWS的生产环境在一个受限的子网段内,与开发和测试隔离

如果启动后无法被集群组中其它节点发现是什么原因?

  • 确定当前节点启动成功了,在console控制台或者nohup日志或者console日志中查找启动耗时的输出,确定节点成功启动
  • 局域网中ip不能是127.0.0.1,这将造成该节点不能被其它节点发现,ip建议用集群组所在同一个网段中局域网ip。启动日志可查看当前节点的更多集群信息,如“Local=127.0.0.1,Name=w1,2017-07-27 10:20:34,[enn-cluster-test_228.0.0.4_45564]”
  • 被防火墙阻拦。可以简单关闭防火墙确认,则需将系统的multicast端口放开

集群环境下启动平台scheduler报错

The scheduler instance (aws-node#1@10008) is still active,
but was recovered by another instance in the cluster.
This may cause inconsistent behavior.

可能是因为集群环境的几台服务器中的时间不一致导致的问题, 需要让所有服务器的时间误差在7.5s之内。

集群环境下启动平台SecureRandom报错

Failed to generate a seed from SecureRandom within 3 seconds. Not enough entrophy?

在/data/cluster目录中的aws-startup.sh脚本里面添加: -Djava.security.egd=file:/dev/./urandom http://www.tuicool.com/articles/JfiQjiu



Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区