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

相关推荐
文慧的科技江湖28 分钟前
充电桩运维管理工具系统的**详细功能列表** - 慧知开源充电桩平台
运维·分布式·小程序·开源·充电桩平台·充电桩开源平台
在未来等你3 小时前
Java并发编程实战 Day 26:消息队列在并发系统中的应用
微服务·kafka·消息队列·rabbitmq·并发编程·高并发系统·: java
掘金-我是哪吒6 小时前
分布式微服务系统架构第148集:JavaPlus技术文档平台日更
分布式·微服务·云原生·架构·系统架构
JavaGPT6 小时前
Kafka 4.0.0集群部署
分布式·kafka
bug菌7 小时前
一致性设计选择:不同业务场景下,如何做“取舍”?
分布式·后端·架构
bug菌1 天前
CAP定理真的是死结?业务系统到底该怎么取舍!
分布式·后端·架构
龘龍龙1 天前
RabbitMQ-延时队列
分布式·rabbitmq
春马与夏1 天前
Spark on yarn的作业提交流程
大数据·分布式·spark
XiaoQiong.Zhang1 天前
Spark 性能调优七步法
大数据·分布式·spark
yuren_xia1 天前
RabbitMQ核心函数的参数意义和使用场景
分布式·rabbitmq