RabbitMQ安装配置手册
安装准备
rabbitmq-server-2.7.0-1.noarch.rpm
Linux:
Yum:
Python:
安装步骤
Ø 执行yum installerlang
Ø 下载文件
wget -O /etc/yum.repos.d/epel-erlang.repo http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo
Ø 再次执行yuminstall erlang(安装59个包)
Ø 安装RabbitMQ rpm–I rabbitmq-version.rpm
Ø 进入usr/sbin下查看rabbitmq安装后的文件
Ø 启动rabbitmq rabbitmq-server start
Ø 启动出错,请修改文件权限
chmod –R 777 /var/lib/rabbitmq/
Ø 修改cookie文件权限 owner为rabbitmq 权限为400
chown –hR rabbitmq .erlang.cookie
chmod 400 .erlang.cookie
常用命令介绍
Ø 启动服务
rabbitmq-server start &
Ø 停止服务
rabbitmq-server stop &
Ø 查看队列中的数据
rabbitmqctl list_queues
Ø 查看节点状态
rabbitmqctl status
Ø 查看分布式节点状态
rabbitmqctl cluster_status
Ø 停止应用
rabbitmqctl stop_app
Ø 启动应用
rabbitmqctl start_app
Ø 重设应用
rabbitmqctl reset
Ø 加入分布式节点
rabbitmqctl cluster 节点标实
Ø 具体参考:
rabbitmqctl –help
分布式配置
218.241.106.161 (节点:rabbit@A02RMC054T15) 注:162与161 已做成了分布式
218.241.106.162(节点:rabbit@A02RMT16)
218.241.106.230(节点:rabbit@E09VMRH53T08)
将161中的/var/lib/rabbitmq/.erlang.cookie 复制到230的/var/lib/rabbitmq/.erlang.cookie并修改文件的属主与属性
chown –hR rabbitmq .erlang.cookie
chmod 400 .erlang.cookie
并在161的/etc/hosts中配置
检查分布式配置
测试RabbitMQ
RabbitMq三种交换技术
Direct Exchange
Direct Exchange – 处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记为“dog”的消息才被转发,不会转发dog.puppy,也不会转发dog.guard,只会转发dog。
Fanout Exchange
Fanout Exchange – 不处理路由键。你只需要简单的将队列绑定到交换机上。一个发送到交换机的消息都会被转发到与该交换机绑定的所有队列上。很像子网广播,每台子网内的主机都获得了一份复制的消息。Fanout交换机转发消息是最快的。
Topic Exchange
Topic Exchange – 将路由键和某模式进行匹配。此时队列需要绑定要一个模式上。符号“#”匹配一个或多个词,符号“*”匹配不多不少一个词。因此“audit.#”能够匹配到“audit.irs.corporate”,但是“audit.*” 只会匹配到“audit.irs”。我在RedHat的朋友做了一张不错的图,来表明topic交换机是如何工作的:
参考
Linux 安装:http://www.rabbitmq.com/install-rpm.html
分布式配置:http://www.rabbitmq.com/clustering.html
http://hammer-nail.iteye.com/blog/640537
http://erlang-china.org/study/erlang-distribute-security.html
http://blog.csdn.net/zgl_dm/article/details/6334861
http://www.diybl.com/course/3_program/java/javajs/20100719/459059.html