欢迎进入Wiki » FAQ » 集群部署注意事项?

集群部署注意事项?

在2015-05-22 16:30上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

为了获取更高性能与更高可用性,一些较大的项目常常采用集群的部署方式,本文对集群环境下的部署做一些常见问题与注意事项的说明。

禁用集群配置

默认情况下,集群配置都是默认启用和自动配置的,包括在 web.xml 中生成 distributable 标签以便启用 tomcat 集群、ehcache、cometd 等。

如需禁用集群,可以在 Config.groovy 中如下配置即可:

// 禁用 tomcat 集群
bropen.toolkit.cluster.tomcat.enabled = false
// 禁用 EhCache 的集群同步
bropen.toolkit.cluster.ehcache.enabled = false
// 禁用 CometD 的 Oort 集群
bropen.toolkit.cluster.cometd.enabled = false

主机防火墙配置

如果主机打开了防火墙的话,一般情况下,需要过滤下列端口:

1、HTTP 服务端口,如 80、443

2、Tomcat 端口,如 8080

3、Tomcat 集群端口,如 4000

    通过启动日志检查:Receiver Server Socket bound to

4、EhCache 集群端口(UDP),如 4446

    通过启动日志检查:EhCache multicast port

5、ComedD 集群端口(UDP),如 5577

    通过启动日志检查:CometD oort multicast port

主机名与IP地址的映射关系

EhCache 的同步地址是通过主机名计算的,但是某些 Linux 发行版中(如 Ubuntu),主机名会自动映射到 127.xxx 的地址上,导致缓存无法同步,因此部署时需要检查一下 /etc/hosts 中的主机名映射关系。

如果映射关系有误,可以修改 hosts,或者配置 clusters.properties 来解决该问题。

共享存储

集群环境下,系统附件、模板、ckeditor/ueditor上传的图片需要能通过任意一台服务器均可访问到,因此需要保存到一个共享的存储空间中。

一般可以通过 NAS 设备 + 各种共享协议(如NFS、网络邻居/Samba等)挂载到各个主机上;或者挂载到某台主机上后,通过NFS、网络邻居/Samba共享到其他主机的相同路径。

然后配置各类系统参数资源路径(bropen.framework.resource.XXXX)等。

服务地址

系统配置(不是 Config.groovy)中有一条 grails.serverURL,默认为 http://localhost:8080,集群环境或非集群环境下,需要配置为服务地址和IP,如 http://bpm.bropen.cn,以免导致一些特定场景下生成的 URL 错误。

此外集群环境下,肯定有一个负载均衡的前端进行分发,如 Apache Http Server、NGIX、四层交换等,服务地址应该映射到这些前端上,而不是各个集群节点。

垂直集群

由于我们选择的 EhCache 同步机制的原因,在一台主机上部署垂直集群时,需要将不同的 jvm 绑定到不同的 IP 地址上,因此需要给主机配置多个 IP 地址,同时配置各节点的 clusters.properties 指定对应的 IP 地址。

集群配置文件 clusters.properties

一般情况下,都不需要这个配置文件,但是一些特定的情况下必须配置,比如垂直集群、主机名映射在127.xx地址上等。

详细说明可以直接参考文件中的注释。

Config.groovy 配置

除了本文开头几个启、禁用集群的配置外,还有下面几个配置:

// EhCache: 组播端口,默认为空(自动计算)
bropen.toolkit.cluster.ehcache.multicast.port
// CometD: 应用的默认端口(默认8080),如果是水平集群,可以通过这里进行简单设置,否则从配置文件 clusters.properties 中加载,包括主机名
bropen.toolkit.cluster.cometd.server.port
// CometD: 组播端口,默认为空(自动计算)
bropen.toolkit.cluster.cometd.multicast.port
// 配置文件位置,默认为 {user.dir}/bropen/clusters.properties
bropen.toolkit.cluster.config.file
标签: BroFramework
在2015-05-22 16:26上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号