RabbitMQ 集群安装

在 linux 下手动安装 RabbitMQ 集群。

准备

安装之前的准备工作。

准备内容说明其他
3 台服务器centos、redhat 等
ErlangRabbitMQ 运行需要的基础环境
socatRabbitMQ 运行需要的基础环境
logrotateRabbitMQ 运行需要的基础环境这个服务器一般自带了

下面的安装示例中使用的版本分别是:
rabbitmq-server-3.12.13-1.el8.noarch.rmp
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.13/rabbitmq-server-3.12.13-1.el7.noarch.rpm

erlang-25.3.2.9-1.el7.x86_64.rmp
https://github.com/rabbitmq/erlang-rpm/releases/download/v25.3.2.13/erlang-25.3.2.13-1.el8.x86_64.rpm

安装

Erlang

rpm -ivh erlang-25.3.2.9-1.el7.x86_64.rpm
image.png
安装成功后查看版本:
image.png

socat

image.png

rabbitmq-server

image.png

启动

systemctl start rabbitmq-server
systemctl status rabbitmq-server 查看状态
image.png

加载管控插件

默认情况下只启动了消息传输服务,而不能用到管理监控功能,这个需要手动加载:
rabbitmq-plugins enable rabbitmq_management
image.png

创建用户设置权限

默认的用户名密码是 guest/guest,一般需要创建其他用户并设置权限。
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p “/” admin “.” “.” “.”
image.png

组建集群

利用 Erlang 的特性组成集群,首先需要保证三台服务器的 erlang_cookies 相同。
拷贝第一胎服务器上的文件:/var/lib/rabbitmq/.erlang.cookie 到另外两台服务器上,并修改用户和权限:
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie

在另外两台服务器上分别执行如下命令:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@linux-3-175
rabbitmqctl start_app
rabbitmqctl cluster_status 查看集群状态
image.png
也可以登录管理页面,首页显示节点信息:
image.png

错误

启动失败,报错:unable to use my own hostname

启动后报错,执行 journalctl -xe 可以看到如下错误日志
image.png
设置 houstname 为域名,然后在 /etc/hosts 中添加记录(需要加上集群中的所有节点信息),如下:
image.png

启动失败,报错:unregistered authentication agent for …

执行 journalctl -xe 可以看到如下错误日志
image.png
这种错误的原因有很多,我这里的原因是搭建集群时,设置的 /var/lib/rabbitmq/.erlang.cookie 权限有问题,修改所有权和文件权限即可:
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie
image.png

无法登录管理页面,提示:user can only log in via localhost

浏览器访问 http://ip:15672,输入用户名密码后提示:
image.png
默认的 guest/guest 用户没有这个权限,手动创建其他用户并设置权限后登录成功。

参考

  1. Erlang Version Requirements | RabbitMQ
  2. rabbitmq/rabbitmq-server: Open source RabbitMQ: core server and tier 1 (built-in) plugins (github.com)
  3. rabbitmq/erlang-rpm: Latest Erlang/OTP releases packaged as a zero dependency RPM, just enough for running RabbitMQ (github.com)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值