一般动作
登录
Wiki: BROPEN ▼: Document Index
»
Space: FAQ ▼: Document Index
»
Page: 集群部署注意事项
搜索
zh
页面动作
导出 ▼: 以PDF格式导出 以RTF格式导出 以HTML格式导出
更多动作 ▼: 打印预览 察看源码
欢迎进入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上被李小翔创建

- 评论 （0）
- 附件 （0）
- 记录
- 信息

# 快速链接

- 首页
- 新闻动态
- FAQ

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