zoukankan      html  css  js  c++  java
  • 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.实现负载均衡 。在配置文件里边加一条命令。(略)
  • 相关阅读:
    【struts2】【2】添加interceptor出错
    C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝
    Garbage Collection Essence.Net中Garbage Collection深入探讨
    数据结构C#实现二叉查找树的创建,查找,以及各种递归(非递归)遍历算法
    C#中不安全代码的编写和指针的应用
    C#中的安全策略
    系统诊断概述如何通过windbg来dump特定process的memory.
    经典数据结构之栈的应用迷宫问题
    CPU Scheduling进程调度算法
    ASP.NET中将检索出的数据写入Exel形成Report的一种solution
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318435.html
Copyright © 2011-2022 走看看