一、安装erlang
编辑/etc/yum.repos.d/rabbitmq_erlang.repo文件,配置yum源,如下
代码语言:javascript复制[rabbitmq_erlang]
name=rabbitmq-rabbitmq-erlang
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
[rabbitmq_erlang-noarch]
name=rabbitmq-rabbitmq-erlang-noarch
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/noarch
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
[rabbitmq_erlang-source]
name=rabbitmq-rabbitmq-erlang-source
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/SRPMS
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
执行命令进行安装erlang
代码语言:javascript复制yum update -y
yum install -y erlang-23.3.4
二、安装RabbitMQ
下载RabbitMQ包
代码语言:javascript复制wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.8/rabbitmq-server-3.8.8-1.el7.noarch.rpm
rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安装相关依赖
代码语言:javascript复制yum install socat -y
安装RabbitMQ
代码语言:javascript复制rpm -Uvh rabbitmq-server-3.8.8-1.el7.noarch.rpm
防火墙设置
代码语言:javascript复制firewall-cmd --add-port=4369/tcp --permanent
firewall-cmd --add-port=5672/tcp --permanent
firewall-cmd --add-port=25672/tcp --permanent
firewall-cmd --add-port=5671-5672/tcp --permanent
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=61613-61614/tcp --permanent
firewall-cmd --add-port=1883/tcp --permanent
firewall-cmd --add-port=8883/tcp --permanent
firewall-cmd --reload
三、配置RabbitMQ参数
配置host,执行vim /etc/hosts,写入以下内容,各个节点上一致
代码语言:javascript复制192.168.0.1 node01
192.168.0.2 node02
192.168.0.3 node03
配置hostname(注意,每个节点不一样),执行vim /etc/hostname,写入以下内容
代码语言:javascript复制node01
编辑网络配置文件,执行
代码语言:javascript复制vim /etc/sysconfig/network
代码语言:javascript复制NETWORKING=yes
HOSTNAME=node01
重启network
代码语言:javascript复制systemctl restart network
配置erlang cookie,RabbitMQ 集群是基于erlang进行同步,cookie中各个节点内容一致
cookie所在文件/var/lib/rabbitmq/.erlang.cookie
四、启动节点
启动rabbitmq-server
代码语言:javascript复制systemctl start rabbitmq-server
将其他节点加入集群 假设有01,02,03三个节点,在02,03节点上执行以下命令
代码语言:javascript复制rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node01
rabbitmqctl start_app
查看集群状态
代码语言:javascript复制rabbitmqctl cluster_status
五、设置RabbitMQ
添加vhost
代码语言:javascript复制rabbitmqctl add_vhost cxt_local
创建用户
代码语言:javascript复制rabbitmqctl add_user cxt_local password
设置用户角色
代码语言:javascript复制rabbitmqctl set_user_tags cxt_local administrator
设置用户权限
代码语言:javascript复制rabbitmqctl set_permissions -p cxt_local cxt_local ".*" ".*" ".*"
启用web界面
代码语言:javascript复制rabbitmq-plugins enable rabbitmq_management
设置高可用模式 使用admin用户登录页面,设置User policies,将队列设置为HA模式,如下图