1、RabbitMQ是用erlang语言编写的,所以我们先安装erlang语言环境
配置erlang语言环境
# vim /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
enabled=1
# rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
# yum install erlang socat -y #安装erlang
2、安装rabbitmq服务
下载rabbitmq地址:http://www.rabbitmq.com/download.html
#wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm
# yum localinstall rabbitmq-server-3.7.13-1.el7.noarch.rpm
(或者 # yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm)
3、启用RabbitMQ的web插件 ,方便后期管理界面:
# rabbitmq-plugins enable rabbitmq_management
4、设置开机启动
# systemctl enable rabbitmq-server.service #设置开机启动服务
# systemctl start rabbitmq-server #启动服务
# systemctl status rabbitmq-server.service #查看服务
# ll /var/lib/rabbitmq/.erlang.cookie
注:发现/var/lib/rabbitmq/.erlang.cookie的文件拥有者是root,而rabbitmq服务是以rabbitqm普通用户运行的, 这就无法往.erlang.cookie里写入数据,所以可能报错。
# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie #修改文件拥有者
5、# netstat -antup | grep 5672 #查看端口号
6、为RabbitMQ创建用户并赋权。
# rabbitmqctl add_user cdnfresh cdnfresh #添加用户
# rabbitmqctl set_user_tags cdnfresh administrator #设置用户权限为administrator
# rabbitmqctl cluster_status #查看集群状态
# rabbitmqctl list_users #查看所有用户
在浏览器测试登录,发现可以登录(ip+port 15672)
7、配置rabbitmq集群
# 在第一个节点启动rabbitmq-server生成cookie文件
# rabbitmq-server -detached
# 设置所有节点同一认证Erlang Cookie,将第一个节点上的cookie文件拷贝到其他节点上,注意.erlang.cookie权限
# chmod 777 /var/lib/rabbitmq/.erlang.cookie
# scp -P38199 .erlang.cookie MQ02:/var/lib/rabbitmq/
# scp -P38199 .erlang.cookie MQ03:/var/lib/rabbitmq/
# chmod 400 /var/lib/rabbitmq/.erlang.cookie (每个节点都要执行)
# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
# chown -R rabbitmq:rabbitmq /etc/rabbitmq
8、启动rabbitmq集群,将MQ02、MQ03加入MQ01
# rabbitmq-server -detached
# rabbitmqctl stop_app
# rabbitmqctl join_cluster rabbit@MQ01
# rabbitmqctl start_app
9、查看集群状态
# rabbitmqctl cluster_status
10、安装rabbitmq_delayed_message_exchange 插件
Rabbitmq官网下载即可
# rabbitmq-plugins list 查看插件
# unzip rabbitmq_delayed_message_exchange-20171201-3.7.x.zip
解压之后得到 rabbitmq_delayed_message_exchange-20171201-3.7.x.ez 文件
# mv rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.13/plugins/
# rabbitmq-plugins enable rabbitmq_delayed_message_exchange 安装完毕查看即可