rabbitMQ安装
1. 环境需求
centos7.x
查看erlang和rabbit的对应关系
https://www.rabbitmq.com/which-erlang.html
下载地址
https://www.erlang-solutions.com/downloads/
https://www.rabbitmq.com/install-rpm.html#downloads
2. 所需资源包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.11/rabbitmq-server-generic-unix-3.9.11.tar.xz
wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_24.1.7-1~centos~7_amd64.rpm
3. 软件安装
3.1 安装erlang
[root@shy opt]# rpm -ivh esl-erlang_24.1.7-1~centos~7_amd64.rpm
warning: esl-erlang_24.0-1~centos~7_amd64.rpm: Header V4 RSA/SHA512 Signature, key ID a14f4fca: NOKEY
error: Failed dependencies:
libodbc.so.2()(64bit) is needed by esl-erlang-24.0-1.x86_64
报错缺少依赖
yum -y install unixODBC
#yum install unixODBC unixODBC-devel wxBase wxGTK SDL wxGTK-gl -y
再次安装
[root@shy opt]# rpm -ivh esl-erlang_24.0-1~centos~7_amd64.rpm
warning: esl-erlang_24.0-1~centos~7_amd64.rpm: Header V4 RSA/SHA512 Signature, key ID a14f4fca: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:esl-erlang-24.0-1 ################################# [100%]
Erlang OTP 24.0 installed
3.2 安装rabbitMQ
cd /data/TRS/soft
xz -d rabbitmq-server-generic-unix-3.9.11.tar.xz
tar xf rabbitmq-server-generic-unix-3.9.11.tar
mv rabbitmq_server-3.9.11/ ../rabbitmq-3.9.11
配置环境变量
vi /etc/profile
export PATH=$PATH:/data/TRS/rabbitmq-3.9.11/sbin
export RABBITMQ_HOME=/data/TRS/rabbitmq-3.9.11
source /etc/profile
4.启动可视化插件
rabbitmq-plugins enable rabbitmq_management
4. 启动并运行
rabbitmq-server -detached
5.访问测试
在浏览器输入http://IP:15672/ 可以看到如下界面
默认账号密码都是guest,但是如果使用guest登录,会出现报错
原因是RabbitMQ3.3以后,guest账号只能在本机登录。这里就不去修改相应配置了,而是另外创建其他登录账号。
6.创建用户
创建用户名admin,密码aaaaaa的用户:
rabbitmqctl add_user admin 123456
设置admin为超级管理员
rabbitmqctl set_user_tags admin administrator
授权远程访问(也可以登录后,可视化配置)
rabbitmqctl set_permissions -p / admin "." "." ".*"
创建完成后,重启RabbitMQ
rabbitmqctl stop
rabbitmq-server -detached
删除用户
rabbitmqctl delete_user admin
7.配置集群
#修改host文件,添加各节点信息
vi /etc/hosts
10.159.62.12 lb_serverb #主机的hostname
10.159.62.11 lb_servera
#获取主节点erlang.cookie的值
cat ~/.erlang.cookie
#将从节点erlang.cookie的值改成和主节点一样的
#将子节点erlang.cookie文件权限改为777(默认为400)
chmod 777 ~/.erlang.cookie
#修改文件内容
vi ~/.erlang.cookie
#修改后将权限改回到原来的400
chmod 400 ~/.erlang.cookie
#重启子节点的rabbitmq
rabbitmqctl stop (受修改erlang.cookie的影响通过命令有可能无法停止应用,如无法停止就直接kill掉)
rabbitmq-server -detached
#在子节点执行
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@lb_servera (lb_servera是主节点的hostname,配置时这个地方需要根据实际情况进行修改)
rabbitmqctl start_app
#查看集群状态判断集群是否创建成功
rabbitmqctl cluster_status
#如果集群状态显示的结果像下面显示的一样出现了主节点和子节点的hostname,就证明集群搭建成功
Cluster status of node rabbit@lb_servera
[{nodes,[{disc,[rabbit@lb_servera,rabbit@lb_serverb]}]},
{running_nodes,[rabbit@lb_serverb,rabbit@lb_servera]},
{cluster_name,<<"rabbit@LB_ServerA">>},
{partitions,[]},
{alarms,[{rabbit@lb_serverb,[]},{rabbit@lb_servera,[]}]}]
#配置镜像队列模式 将队列放入硬盘中
#rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
热爱技术,享受生活,感谢推荐!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?