下图,可能有些主机名地方不一样,但是大概意思就是这个意思。
两个节点的前期工作,:
0.防火墙关闭,selinux机制关闭
1 修改两个节点的计算机名。
2. 修改hosts文件 添加两个节点的ip 和域名。
3.重启
图片如下:
4.两个节点安装ejabberd (略,前边写过安装步骤了,yum方式安装,很简单的)
5.修改两个节点的配置文件 /etc/ejabberd/ejabberdctl.cfg 两项需要修改如下
这里说一下,ip地址中间使用逗号隔开的,用点的话会报错。网上有人问过这个问题。
6.修改两个节点的vim /usr/sbin/ejabberdctl 如下
7.修改两个节点的配置文件ejabbred.cfg 如下
8.添加ejabberd配置文件中的hosts的域名到 各自的/etc/hosts,例如:主节点 如下图
9.启动两个节点,查看两个节点的状态。用live模式也是调试模式,能看出错误信息(略,第一次装完不会报错误。)
10.以下操作全部在第二个节点进行,关闭第二个节点ejabberd。然后删除 rm –rf /var/lib/ejabberd/spool/* 所有文件。
11.集群通讯用的是erlang.cookie,必须cookie一样,用ssh的方式登陆到主节点,然后scp 命令拷贝到 /var/lib/ejabberd/spool/下。一定要注意权限的问题 。
12.用命令 erl -name ejabberd@slave.mycctv.com -mnesia dir '"/var/lib/ejabberd/spool/"' -mnesia extra_db_nodes "['ejabberd@master.mycctv.com']" -s mnesia -setcookie JZZIRLIABFAGMGMGYRFR
setcookie 后边跟的是erlang.cookie里的内容。
13.mnesia:info(). 查看结果。Runningdb=两个节点说明正常 。
14.接着在erlang模式下执行 mnesia:change_table_copy_type(schema, node(), disc_copies). 括号后边有点。
15.q(). 退出erlang模式。
16.启动第二个节点 用live 方式 看有没有报错信息 。
17.然后去第一个节点看一下状态。主节点应该能看到第二个几点的启动状态信息。
18.注册用户做测试。在IE输入,http://only.test.com:5280/admin/
19.客户端更改hosts文件 才能访问到。
20.登陆网页,更改数据库的复制方式,如下
20.实现负载均衡 。在配置文件里边加一条命令。(略)