码迷,mamicode.com
首页 > 其他好文 > 详细

rabbitMQ学习(一):集群环境搭建

时间:2015-09-09 09:40:14      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:


环境:
四台centOS操作系统服务器192.168.0.73,192.168.0.74,192.168.0.75,192.168.0.76

1 在每台服务器上按照如下步骤安装rabbitMQ
1.1 rabbitMQ是基于erlang语言开发的,因此先安装erlang
执行命令:

yum install erlang

1.2 安装rabbitMQ
分别执行命令

1 wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.0/rabbitmq-server-3.5.0-1.noarch.rpm
2 rpm -ivh rabbitmq-server-3.5.0-1.noarch.rpm

1.3 安装完成后以服务的方式启动rabbitMQ,并验证相关进程是否运行正常

1 service rabbitmq-server start
2 ps -ef | grep rabbitmq

1.4 如果需要使用webUI管理,执行一下命令安装插件;完成后重启rabbitMQ

1 rabbitmq-plugins enable rabbitmq_management
2 service rabbitmq-server restart

1.5 通过webUI登录地址http://192.168.0.73:15672 默认用户名和密码都是guest
guest账户默认只允许通过localhost登录,出现无法登录时通过修改配置文件即可解决

vim /etc/rabbitmq/rabbitmq.config

写入[{rabbit, [{loopback_users, []}]}]. 保存即可

2 集群搭建
这里所采用的四台rabbitMQ服务器的hostname分别是queue-01,queue-02,queue-03,queue-04;hostname可通过

1 cat /proc/sys/kernel/hostname

命令查看

2.1 停止所有节点的rabbitMQ服务

service rabbitmq-server stop

2.2 分别在四台机器的/etc/hosts文件中加入如下内容,指定queue-01,queue-02,queue-03,queue-04的host。

192.168.0.73 queue-01
192.168.0.74 queue-02
192.168.0.75 queue-03
192.168.0.76 queue-04

2.3 以queue-01为基础,同步每个节点的.erlang.cookie文件(以queue-02为例),具体原因请参考:http://www.cnblogs.com/flat_peach/archive/2013/04/07/3004008.html

1 queue-01#chmod 777 .erlang.cookie
2 queue-02#chmod 777 .erlang.cookie
3 queue-01#scp .erlang.cookie root@192.168.0.74:/var/lib/rabbitmq/
4 queue-02#chmod 400 .erlang.cookie
5 queue-01#chmod 400 .erlang.cookie

2.4 通过detached参数独立运行所有节点,查看节点状态

1 rabbitmq-server -detached
2 rabbitmqctl cluster_status

2.5 将queue-02作为磁盘节点,queue-03,queue-04作为内存节点与queue-01连接起来

 1 queue-02#rabbitmqctl stop_app
 2 queue-02#rabbitmqctl join_cluster rabbit@queue-01
 3 queue-02#rabbitmqctl start_app
 4 
 5 queue-03#rabbitmqctl stop_app
 6 queue-03#rabbitmqctl join_cluster --ram rabbit@queue-01
 7 queue-03#rabbitmqctl start_app
 8 
 9 queue-04#rabbitmqctl stop_app
10 queue-04#rabbitmqctl join_cluster --ram rabbit@queue-01
11 queue-04#rabbitmqctl start_app

通过以上步骤rabbitMQ集群已经能正常工作了

如果希望使用镜像功能,可以通过rabbitMQ的策略来实现,在集群中的任意节点配置策略会自动同步到其他节点。

rabbitmqctl set_policy -p test ha-allqueue "^" {"ha-mode":"all"}

以上命令在名称为test的vhost上创建了一个名为ha-allqueue的策略,策略模式为all,即复制到所有节点,包含新增节点。
策略正则表达式为 “^” 表示匹配所有队列名称,即所有队列都会以镜像的形式存在于其他所有节点。

rabbitMQ学习(一):集群环境搭建

标签:

原文地址:http://www.cnblogs.com/baboq/p/4793635.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!