centos7部署rabbitqmq集群

安装erlang语言

rpm -ivh esl-erlang_22.0.3-1~centos~7_amd64.rpm

报错,安装依赖的库文件

yum install epel-release -y

yum install unixODBC unixODBC-devel wxBase wxGTK SDL wxGTK-gl -y

安装socat

yum -y install socat

安装rabbitmq

rpm -ivh rabbitmq-server-3.7.15-1.el7.noarch.rpm

查找默认的日志文件路径跟数据库路径以及配置信息

rpm -ql rabbitmq-server-3.7.15-1.el7.noarch

更改rabbitmq的日志跟数据路径

vim /etc/rabbitmq/rabbitmq-env.conf

RABBITMQ_MNESIA_BASE=/opt/mnesia
RABBITMQ_LOG_BASE=/opt/log

mkdir /opt/{mnesia,log}

chown rabbitmq.rabbitmq /opt/{mnesia,log}

启动rabbitmq

systemctl start rabbitmq-server

启动rabbitmq的web管理界面插件

rabbitmq-plugins enable rabbitmq_management

默认的guest账号是只允许本地127.0.0.1登录的,所以新建管理员账号

rabbitmqctl add_user 用户名 密码

为新建账号添加角色

rabbitmqctl set_user_tags 用户名 administrator

查看所有用户名及其对应的角色

rabbitmqctl list_users

启动或重启的rabbitmq-server

systemctl start rabbitmq-server

加入rabbitmq集群

先把集群所有机器的主机名对应IP地址加入到/etc/hosts中

vim /etc/hosts

192.168.110.111 rabbitmq2
192.168.110.110 rabbitmq1
192.168.110.112 rabbitmq3

复制rabbitmq1机器的.erlang.cookie到第三台服务器上面,Linux下用rpm包安装的rabbitmq的erlang.cookie默认在/var/lib/rabbitmq中,默认权限时400

复制完后集群的所有机器的erlang.cookie是一样的

重启rabbitmq3机器

开启systemctl statt rabbitmq-server

关闭应用

rabbitmqctl stop_app

加入集群

rabbitmqctl join_cluster rabbit@rabbitmq1

开启应用

rabbitmqctl start_app

查看集群状态

rabbitmqctl cluster_status

到web界面查看rabbitmq集群的状态

 注意事项:当修改rabbitmq路径时,在更改的路径下的mnesia是会存在数据跟pid的,

                   当节点退出集群最粗暴的做法是把mnesia下面的数据全删掉,然后启动rabbitmq

原文地址:https://www.cnblogs.com/allmdzz/p/11103447.html