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 查看服务是否正常启动

相关推荐
笨手笨脚の3 小时前
分布式系统的本质是什么
分布式
czlczl200209255 小时前
Zookeeper
分布式·zookeeper·云原生
布吉岛的石头5 小时前
分库分表实战:Sharding-JDBC 快速落地
分布式·mysql
晓庆的故事簿10 小时前
JAVA搭配RabbitMQ使用
java·rabbitmq·java-rabbitmq
渔民小镇10 小时前
4 行代码接入 Spring —— ionet 的生态融合之道
java·服务器·分布式·游戏
苍煜11 小时前
Kafka vs RocketMQ 生产环境选型指南
分布式·kafka·rocketmq
m0_7162550012 小时前
第二部分 电商离线数仓 全套项目代码(可直接在你伪分布式 Hive 运行)
hive·hadoop·分布式
旷世奇才李先生13 小时前
Spring Cloud Alibaba 2026微服务全栈实战:服务治理\+流量控制\+分布式事务
分布式·微服务·架构
Amy1870211182313 小时前
虚拟电厂为什么必须“牵手”微电网?答案全在这里
分布式·安全·能源
旷世奇才李先生14 小时前
Redis 7\.0实战:分布式缓存与高可用集群搭建全指南
redis·分布式·缓存