1.环境Ubuntu10.4 2.在两台服务器S1、S2安装ejabberd 在此假设 S1安装ejabberd的node为ejabberd@admintest。 S2安装ejabberd的node为ejabberd@clustertest。 (注意:1)/sbin/ejabberdctl 中HOST的默认localhost,我在此把默认的HOST改为admintest和clustertest。 2)分别在S1、S2把admintest与clustertest添加到/ect/hosts中 如:192.168.1.2 admintest 192.168.1.3 clustertest)。 3.在S1上通过shell执行 ejabberdctl start 启动 ejabberd 1)可以在shell用ejabberdctl status来检查 ejabberd 是否启动成功。 2)ejabberd成功启动后。在shell中用ejabberdctl register admin langzhetest.com 123456 来注册用户。并修改/etc/ejabberd.ctg 文件添加hosts(如:{hosts,["langzhetest.com"]}.)和acl(如:{acl,admin,{user,"admin","langzhetest.com"}}.) 详细请参考官方文档。 3)参照2)再次创建其他账户如adminlxw,当然可以通过http://langzhetest.com:5280/admin/操作界面继续添加用户。 4)在此为了确保服务器的正确性,可以使用客户端验证,方法略。 4.在S2上进行集群配置 1)确保S1和S2有相同的cookie,假设当前cookie为langxianzhe,复制S1 ~ejabberd/.erlang.cookie 到S2 ~ejabberd./erlang.cookie(其它设置方法请参考官方文档)。 2)在linux shell中执行 erl -sname ejabberd@clustertest \ -mnesia dir '"/var/lib/ejabberd/"' \ -mnesia extra_db_nodes "['ejabberd@admintest']" \ -s mnesia -setcookie langxianzhe(官方文档没有在此设置cookie,但发不设置cookie mnesia:info/0 查看到得runing db nodes信息,会少一个node)。 3)在erlang shell中执行 mnesia:change_table_copy_type(schema, node(), disc_copies). 可以根据实际需要,再执行 mnesia:add_table_copy/3 详细请参考官方文档。 4)退出erlang shell 输入"q()."或"init:stop()."。 5)在linux shell中执行 ejabberdctl start,通过ejabberdctl status 检查是否启动成功。 6)修改/etc/ejabberd.ctg 文件添加hosts(如:{hosts,["langzhetest.com"]}.),在此不需要修改acl,它会自动从S1上获取。 7)注意:修改配置文件后需要重新启动ejabberd才生效(如:ejabberdctl restart)。 5.进行负载均衡配置 1)修改S1、S2 /etc/ejabberd/ejabberd.ctf 在文件末尾添加 {domain_balancing_component_number, "langzhetest.com", 2}.。 2)修改日志级别为debug方便观察后台信息。 3)完成以上操作重启ejabberd服务。 6.用户客户端测试服务器 1)修改客户端的hosts 添加 192.168.1.2 irgstest.com或 192.168.1.3 langzhetest.com。 2)添加登录用户的时候去掉ssl验一项,不然可能登陆不上。 3)添加好友时不要只写admin,要写全称如:admin@langzhetest.com。 4)admin和adminlxw最好是在两台机器(一个host配置是192.168.1.2 irgstest.com另一个hosts配置是 192.168.1.3 langzhetest.com)上进行测试,是为了保证S1,S2两个服务器能相互通信。 7.结束OK,休息一下。
相关推荐
5. **可扩展性**:ejabberd可以通过分布式集群扩展,允许多台服务器协同工作,以应对更大的用户负载。 6. **API和Webhooks**:ejabberd提供API接口,可以与其他应用系统集成,实现自动化管理和扩展功能。同时,...
3. **高可用性**:Ejabberd可以被配置为集群模式,提供负载均衡和故障转移,确保服务的稳定性和连续性。 4. **安全性**:支持SSL/TLS加密,保护用户的通信隐私;并且可以通过模块进行访问控制和防火墙规则设置。 5. ...
ejabberd的配置文件通常位于`etc`目录下,通过修改这些配置文件,可以定制服务器的行为。同时,ejabberd还提供了管理工具,如命令行工具和Web管理界面,用于监控和管理服务器状态。 总之,ejabberd是一个强大且...
2. **高可用性与扩展性**:ejabberd采用了 Erlang/OTP(Open Telecom Platform)语言开发,天生具备高并发和容错能力。它可以轻松地在集群环境中运行,随着用户数量的增长,可以动态添加节点来扩展服务。 3. **安全...
最简单的方法是在ejabberd.yml模块设置下启用mod_offline_my并设置某些配置选项。 配置选项 mod_offline_my需要一些参数才能正常运行。 应在ejabberd.yml mod_offline_my下设置以下选项: host (必填, string )-...
1. **可扩展性**:ejabberd可以轻松处理成千上万的并发用户,支持集群部署,能够随着用户数量的增长进行水平扩展。 2. **安全性**:ejabberd支持SSL/TLS加密,保证了通信的安全性,防止数据在传输过程中被窃取。 3. ...
这使得管理员能够对使用 Erlang 作为后端语言的应用程序(如 ejabberd、Cassandra 或 Riak 等)进行自动化管理和配置。 **Erlang 和 RPC 的基础知识** Erlang 是一种面向并发的编程语言,最初由瑞典电信公司 ...
为了充分利用Elang集群信息记录器,开发者和运维人员需要对Elang的分布式特性有深入理解,包括进程间通信(Erlang的轻量级进程和消息传递)、分布式节点的连接与认证、以及Erlang的错误处理和恢复机制。同时,掌握...
- **Ejabberd**:利用Erlang语言的优势,在并发性和稳定性方面表现优异,适合大型分布式环境,但维护成本较高。 - **GoPush**:基于Go语言开发的推送系统,支持高并发访问,并能够适应分布式环境的需求。 #### 内核...
配置Hadoop涉及设置集群的节点,网络通信,存储和计算资源。在Hadoop1.0.3中,配置文件通常包括`core-site.xml`(核心配置),`hdfs-site.xml`(HDFS配置),`mapred-site.xml`(MapReduce配置)等。配置内容可能...