• ejabberd 集群搭建


    下图,可能有些主机名地方不一样,但是大概意思就是这个意思。


    两个节点的前期工作,:
    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.实现负载均衡 。在配置文件里边加一条命令。(略)
  • 相关阅读:
    数据库02
    MySQL1
    GIL 死锁 递归锁 event 信号量 线程Queue
    小脚本 暴力删除文件 刷屏
    常见web攻击 及基础 回顾(杂记)
    接口中的简单异步 async
    python协程 示例
    python 利用jinja2模板生成html
    python 调用webservices 接口
    python 进程 进程池 进程间通信
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318435.html
Copyright © 2020-2023  润新知