设为首页 收藏本站
查看: 3560|回复: 0

[经验分享] centos下Openfire安装+集群+Hazelcast插件+Haproxy

[复制链接]

尚未签到

发表于 2015-11-20 09:44:34 | 显示全部楼层 |阅读模式
首先介绍一下在centos下如何安装openfire
1、升级一下yum

#yum update


2、删除系统中自带的JAVA插件

#yum -y remove java*


3、配置java环境
  下载jdk-7u79-linux-x64.tar.gz到/tmp/下(路径随意)

进入/tmp/

将jdk-7u79-linux-x64.tar.gz解压到/usr/local/,并改名为jdk

#tar -zxvf jdk-7u79-linux-x64.tar.gz -C /usr/local
#mv jdk-7u79-linux-x64 jdk

  配置环境变量

#vi /etc/profile

  在profile文件末尾加入:

JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

  保存退出,使/etc/profile里的配置立即生效

#source /etc/profile


4、下载openfire在linux下的安装包

#wget http://download.igniterealtime.org/openfire/openfire_3_10_2.tar.gz


5、解压
  将openfire_3_10_2.tar.gz解压到/usr/local/,并改名为openfire

#tar -zxvf openfire_3_10_2.tar.gz -C /usr/local

  解压后/usr/local/下如果直接是openfire则无需重命名

#mv openfire_3_10_2 openfire


6、启动openfire
  进入/usr/local/openfire/bin执行如下命令启动openfire

#./openfire start

  为你需要的n个主机做同样的步骤
其次介绍如何配置openfire
  在配置openfire之前需要配置一下mysql数据库(mysql作为数据库服务器一般单独安装在另外一台主机上)
  在MySQL中为openfire创建一个数据库(以用户名root登录,密码admin123456789)

mysql -uroot -padmin123456789

  创建的数据库名称叫做”dbopenfire”,然后添加新的用户”test”并且密码设置为”123456”

mysql> CREATE DATABASE dbopenfire CHARACTER SET='utf8';
mysql> CREATE USER 'test'@'%' IDENTIFIED BY '123456';
mysql> GRANT ALL ON dbopenfire.* TO 'test'@'%';
mysql> FLUSH PRIVILEGES;
mysql> quit


创建好数据库之后开始对n个openfire进行同样的配置
openfire设置
  openfire配置登录:   http ://openfire服务器地址:9090/

首先进行语言配置

DSC0000.jpg

其次进行服务器设置

DSC0001.jpg

这里域统一设置为ubuntu(可以随意设置,但是所有的openfire必须一致,而且在用户登录时,username@host中的host就是这个域)

再进行数据库设置-标准连接

DSC0002.jpg

所有的openfire必须设置为同样的数据库。(这一步非常重要)

接下来选择初始设置

DSC0003.jpg

最后配置一下服务器的登录密码,默认用户名admin

(注意,因为所有的openfire服务器共享一个数据库,所有所有的openfire服务器的登录用户名和密码都一样)
为所有的openfire服务器进行上述设置
基本配置完成以后就开始进行集群配置
1、关闭openfire集群上的所有服务器
  进入openfire的安装目录 /usr/local/openfire
  执行如下命令

./bin/openfire stop


2、每台服务器都应该做如下操作
  进入openfire的安装目录 /usr/local/openfire/plugins

a) 删除已有插件hazelcast.jar和broadcast.jar
b) 删除插件目录 plugins/hazelcasr和plugins/broadcast
c) 将新的hazelcasr.jar和broadcast.jar插件复制到 plugins目录


3、在集群的其他插件重复2的操作
4、重启集群中的所有openfire服务器
  切换到

/usr/local/openfire

  执行

./bin/openfire start

  重启之后登录网页管理页面在插件中就可以看到安装好的hazelcasr和broadcast插件
DSC0004.jpg
5、插件管理
  进入服务器管理中的集群
DSC0005.jpg
  进入集群管理,在集群设置启用集群
DSC0006.jpg
  启用之后就可看到集群了
DSC0007.jpg
6、集群配置
注意事项
  hazelcast最新版3.5.2的配置有重要修改
  官方给出的
  With the multicast auto-discovery mechanism, Hazelcast allows cluster members to find each other using multicast communication. The cluster members do not need to know the concrete addresses of the other members, they just multicast to all the other members for listening. It depends on your environment if multicast is possible or allowed.

  通过组播自动发现机制,hazelcast允许集群成员自动发现而不需要知道准确的地址。

通过这个机制,无需在对< tcp-ip>进行配置

<join>
<multicast enabled="true">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="false"/>
<aws enabled="false"/>
</join>

  如果需要手动配置集群成员的地址则需要关闭< multicast>
  集群如下

主机内网ip应用
主机1172.16.181.73openfire
主机1172.16.181.77openfire  
  

配置如下(openfire/plugins/hazelcast/classes/hazelcast-cache-config.xml)

<join>
<multicast enabled="false">
</multicast>
<tcp-ip enabled="true">
<member>172.16.181.73:5701</member>
<member>172.16.181.77:5701</member>
</tcp-ip>
<aws enabled="false"/>
</join>

  如果按照之前版本的配置里面< tcp-ip>中的节点是< hostname>则会报错,服务器日志为:

org.jivesoftware.openfire.plugin.util.cache.ClusteredCacheFactory - Unable to start clustering - continuing in local mode
com.hazelcast.config.InvalidConfigurationException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'hostname'. One of '{"http://www.hazelcast.com/schema/config":required-member, "http://www.hazelcast.com/schema/config":member, "http://www.hazelcast.com/schema/config":interface, "http://www.hazelcast.com/schema/config":members, "http://www.hazelcast.com/schema/config":member-list}' is expected.


7、负载均衡(Haproxy配置在centos上)
  安装 Haproxy

yum install haproxy

  配置 Haproxy

vi /etc/haproxy/haproxy.cfg

  添加如下内容

listen openfirexmpp :15222
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server p1 172.16.181.73:5222 check
server p2 172.16.181.77:5222 check
listen xmpp-openfirexmpp23 :15223
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server p1 172.16.181.73:5223 check
server p2 172.16.181.77:5223 check
listen openfirehttp :17070
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server p1 172.16.181.73:7070 check
server p2 172.16.181.77:7070 check
listen xmpp-7443 :17443
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server p1 172.16.181.73:7443 check
server p2 172.16.181.77:7443 check
listen openfireadmin :19090
mode tcp
option log-health-checks
option redispatch
option tcplog
balance roundrobin
server p1 172.16.181.73:9090 check
server p2 172.16.181.77:9090 check

  重启haproxy

service haproxy restart

  测试
DSC0008.jpg
DSC0009.jpg
  成功登陆
DSC00010.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-141383-1-1.html 上篇帖子: ​配置haproxy日志支持(rsyslog日志支持) 下篇帖子: haproxy 教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表