RabbitMQ集群部署

一. 环境准备

本人准备三台虚拟机,如下:

172.16.185.100
172.16.185.110
172.16.185.120

三台机器都修改/etc/hosts 文件

172.16.185.100 master
172.16.185.110 node01
172.16.185.120 node02

练习期间,我这里采用的是关闭防火墙,如下:

firewall-cmd --state#查看防火墙状态
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动

关闭seliunx

getenforce#查看selinux状态
setenforce 0#临时关闭selinux
sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config	#永久关闭(需重启系统)

当然也可以不用关闭,可参照如下:

//开启端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
//查询端口号15672或5672是否开启:
firewall-cmd --query-port=15672/tcp
//重启防火墙:
firewall-cmd --reload
//查询有哪些端口是开启的:
firewall-cmd --list-port
//禁用端口
firewall-cmd --zone=public --remove-port=15672/tcp --permanent

二. 开始安装

首先这里说明一下,rabbitmq 是由erlang语言开发的,所以我们这里需要先安装erlang环境。

第一步

所有机器都需要安装如下:
依赖

[root@master ~]# yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

下载

[root@master ~]#  wget https://github.com/erlang/otp/releases/download/OTP-25.0.3/otp_src_25.0.3.tar.gz

解压

[root@master ~]#  tar -zxvf otp_src_25.0.3.tar.gz

编译

[root@master ~]#  ./configure --prefix=/usr/local/erlang

安装

[root@master ~]#  make install

添加环境变量

[root@master ~]#  echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

环境变量生效

[root@master ~]# source /etc/profile

测试安装结果

[root@master ~]# erl

在这里插入图片描述

第二步

所有机器都需要安装如下:

下载

[root@master ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/rabbitmq-server-generic-unix-3.10.7.tar.xz

安装xz

[root@master ~]#  yum install -y xz

第一次解压

[root@master ~]#   /bin/xz -d rabbitmq-server-generic-unix-3.10.7.tar.xz

第二次解压

[root@master ~]#  tar -xvf rabbitmq-server-generic-unix-3.10.7.tar

移动

直接将目录更名成 rabbitmq  ,然后移到 /usr/local/ 下  
[root@master ~]#   mv rabbitmq-server-generic-unix-3.10.7 rabbitmq
[root@master ~]#   mv rabbitmq /usr/local/

配置环境变量

[root@master ~]#   echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

环境变量生效

[root@master ~]# source /etc/profile

三. 操作

启动

[root@master ~]# rabbitmq-server –detached

查看状态

[root@master ~]# rabbitmqctl status

查看状态

[root@master ~]# rabbitmqctl cluster_status

停止

[root@master ~]# rabbitmqctl stop

查看进程

[root@master ~]# ps -ef | grep rabbitmq

开启web插件

[root@master ~]# rabbitmq-plugins enable rabbitmq_management

浏览

IP:15672
在这里插入图片描述
默认账号密码:guest guest(这个账号只允许本机访问)

四. 创建账号

查看所有用户

[root@master ~]# rabbitmqctl list_users

添加用户

[root@master ~]# rabbitmqctl add_user admin 123456

配置权限

[root@master ~]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

查看用户权限

[root@master ~]# rabbitmqctl list_user_permissions admin 

设置tag

[root@master ~]# rabbitmqctl set_user_tags admin administrator

删除用户
可不删除,此步骤忽略

[root@master ~]# rabbitmqctl delete_user guest

五. 加入集群

停止服务

[root@master ~]#  rabbitmqctl stop

设置erlang cookie

[root@master ~]# find / -name .erlang.cookie
/root/.erlang.cookie
将master上的.erlang.cookie 文件同步导node01 和 node02  这个位置/root/

加入集群

node01 和 node02 加入到 master [rabbit@ 这个是固定格式 后面master 是在/etc/hosts 设置的ip 对应的主机名称] ,因为erlang是通过主机名来连接服务的,必须保证各个主机名之间可以ping通。如果主机名ping不通,rabbitmq服务启动会失败。
[root@node01 ~]#  rabbitmqctl stop_app
[root@node01 ~]#  rabbitmqctl join_cluster rabbit@master
[root@node01 ~]#  rabbitmqctl start_app

[root@node02 ~]#  rabbitmqctl stop_app
[root@node02 ~]#  rabbitmqctl join_cluster rabbit@master
[root@node02 ~]#  rabbitmqctl start_app

下面说明集群安装成功了

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝颜~岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值