rabbitmq集群搭建

升级步骤

1.升级包上传

1.1上传erlang、rabbitmq安装包

创建对应升级目录

将安装包otp_src_22.1.7.tar.gz上传到新创建的目录下

将安装包rabbitmq-server-generic-unix-3.8.9.tar.xz上传到新创建的目录下

复制代码
1.2 执行解压命令

tar -zxvf otp_src_22.1.7.tar.gz
xz -d rabbitmq-server-generic-unix-3.8.9.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.8.9.tar

2.安装erlang环境

2.1编译erlang

在进入刚刚解压的erlang文件夹中执行

复制代码
./configure --prefix=/实际路径/erlang

执行

复制代码
make && make install

2.2配置环境变量

上在当前用户根目录下创建etc文件夹,创建linux.env文件,添加一下内容

复制代码
export ERL_HOME=/实际路径/erlang
export PATH=$PATH:$ERL_HOME/bin

执行命令使配置生效

复制代码
source linux.env

3.安装配置rabbitmq集群

3.1拷贝文件,配置hosts文件

在将刚刚解压的rabbitmq安装包解压文件夹复制到其他几台服务器中

在配置rabbitmq集群时需要先修改当前机器/etc/hosts文件的内容,确保需要配置集群的几台机器之间使用机器主机名可以互相访问

复制代码
20.200.175.85 xykqz9
20.200.175.86 xykqz10
20.200.175.87 xykqz11

3.2拷贝.erlang.cookie文件

在解压rabbitmq安装包后,.erlang.cookie文件一般会出现在当前用户根目录下,由于文件是隐藏的,需要使用ls -al查看,并将当前文件复制到其他几台服务器中

复制代码
scp  .erlang.cookie  xx@ip:/实际路径 

上拷贝过来之后由于一般用户没有权限直接将.erlang.cookie文件复制到根目录下,所以上边先复制到创建的一个其他文件中,使用mv进行覆盖文件

复制代码
   mv  ./xx/.erlang.cookie .

3.3启动集群

分别进入三台机器rabbitmq的sbin目录执行下面命令

复制代码
RABBITMQ_NODE_PORT=5672 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15672}]" RABBITMQ_NODENAME=rabbit01 ./rabbitmq-server -detached

./rabbitmq-plugins -n rabbit01 enable rabbitmq_stream  

此时先启动1号机mq服务

复制代码
./rabbitmq-plugins -n rabbit01 enable rabbitmq_management     
./rabbitmqctl -n rabbit01 stop_app. 
./rabbitmqctl -n rabbit01 start_app.

在二号机执行

复制代码
./rabbitmq-plugins -n rabbit01 enable rabbitmq_management 
./rabbitmq-plugins -n rabbit01 enable rabbitmq_web_stomp
./rabbitmq-plugins -n rabbit01 enable rabbitmq_web_stomp_examples
./rabbitmqctl -n rabbit01 stop_app
./rabbitmqctl -n rabbit01 reset
./rabbitmqctl -n rabbit01 join_cluster --ram rabbit01@1号机的主机名
./rabbitmqctl -n rabbit01 start_app

在3号机执行

复制代码
./rabbitmq-plugins -n rabbit01 enable rabbitmq_management 
./rabbitmq-plugins -n rabbit01 enable rabbitmq_web_stomp
./rabbitmq-plugins -n rabbit01 enable rabbitmq_web_stomp_examples
./rabbitmqctl -n rabbit01 stop_app
./rabbitmqctl -n rabbit01 reset
./rabbitmqctl -n rabbit01 join_cluster --ram rabbit01@1号机的主机名
./rabbitmqctl -n rabbit01 start_app

3.4配置用户

分由于一般guest配置不允许远程访问,所以配置一个新用户用来访问mq控制台

复制代码
./rabbitmqctl -n rabbit01 add_user root root1234
./rabbitmqctl -n rabbit01 set_user_tags root administrator
./rabbitmqctl -n rabbit01 set_permissions -p "/" root ".*" ".*" ".*" 

3.5.登录http://ip:15672 查看服务是否正常启动

相关推荐
真上帝的左手7 小时前
30. 技术专题-‌应用框架组件-分布式架构
分布式·架构·系统架构·分布式架构
zixu_star1 天前
从单机到分布式:定时任务如何处理大量数据与执行失败?
分布式
lsc_blog2 天前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
Lansonli3 天前
大数据Spark(八十七):Spark-Submit 参数详解
大数据·分布式·spark
qq_452396233 天前
第二篇:《CommitLog + ConsumeQueue:一条日志解决 Kafka 多分区随机写的难题》
分布式·kafka
Alluxio4 天前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
阿卡好可爱4 天前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
方方洛6 天前
ray教程-28-附录G-CICD与Slurm与云上调度
人工智能·分布式·机器学习
空奈qwq6 天前
【Kafka 从入门到实战】从手写一个队列到生产级消息中间件:架构、分区、消费组、零拷贝全解析
分布式·架构·kafka