Openfire集群配置
openfire集群配置的可选方案目前有三种
1、基于Oracle的coherence实现-----较早版本的官方实现,目前用户量比较大(但是openfire官方已经放弃了这种集群方案)
2、基于zookeeper实现的zkfire 在openfire的基础之上进行修改,通过zookeeper的集群功能实现了openfire的功能----应用效果未知 (由于zookeeper的限制,集群必须是奇数台服务器至少使用3台)
3、基于broadcast与hazelcast两个插件实现的集群功能---这是目前官方建议的实现方案,也是官方唯一继续维护的(集群相对简单, 两台机器就能实现;通过分发实现负载均衡)
基于以上三种情况我们选择了第三种方案进行试验,试验环境是:VM虚拟机两个(linux 的RedHat 6.5 的64bit版本)
在配置openfire的集群插件之前,需要修改一下防火墙设置:开放9090、22、5701 三个端口,22端口是开放给ssh工具使用 9090端口是开放给openfire的管理后台使用,5701是给集群插件的广播使用
在命令窗口按顺序实行一下命令
service iptables stop
/sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 5701 -j ACCEPT
service iptables save
service iptables start
然后执行 : service iptables status 查看防火墙状态,可以看到一下信息:
1、安装Openfire应用
安装Openfire的应用在前一页中已经讲过了,这里就不废话了。
我们只讲几个需要注意的问题:
1、 所有节点的域名要完全一致
2、 数据库必须是标准数据库
3、 数据源链接必须使用相同的连接
2、 安装插件
以上工作完成之后就可以开始安装插件了(openfire集群需要两个插件:Broadcast、Hazelcast Clustering Plugin)
可以在可用插件页面选择安装,默认情况下 【可用插件】列表中没有任何信息,点击【立即升级】后可以查看到当前官网提供的所有未安装的可用插件
选择以上两个插件点击安装按钮即可(Hazelcast Clustering Plugin 安装时间较长需要耐心等待)
3、 修改Hazelcast Clustering Plugin 配置
通过vi工具编辑 Hazelcast Clustering Plugin 插件的hazelcast-cache-config.xml 文件,在该文件下添加相应节点信息
执行的命令: vi /opt/openfire/plugins/hazelcast/classes/hazelcast-cache-config.xml
修改的配置信息:
<network>
<port auto-increment="true" port-count="100">5701</port>
<join>
<multicast enabled="false">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="true">
<member>10.1.19.181:5701</member>
<member>10.1.19.233:5701</member>
<!--本机地址-->
<member>10.1.19.229:5701</member>
</tcp-ip>
<aws enabled="false"/>
</join>
<interfaces enabled="true">
<!--本机地址-->
<interface>10.1.19.229</interface>
</interfaces>
<ssl enabled="false"/>
<socket-interceptor enabled="false"/>
<symmetric-encryption enabled="false"/>
<asymmetric-encryption enabled="false"/>
</network>
配置修改完成之后 需要重启 openfire 服务
然后进入openfire后台管理页面,打开集群设置页面,启动集群功能
集群功能启动成功后,5701端口监听就会启动,并且能够显示出集群下的服务器列表
注意:
在启用集群功能时,有时会会出现长时间无响应状态,超过5分钟无响应后,可以通过linux客户端重启openfire服务重新查看集群状态,如果重启后集群状态仍未打开,则重新点击启用即可