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

相关推荐
樱花落木兰33 分钟前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
ShineWinsu1 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
Flynt17 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
JosieBook19 小时前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
梦帮科技1 天前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
Frank_refuel1 天前
分布式RPC框架实战(二):服务端模块划分与底层设计
分布式·网络协议·rpc
mftang2 天前
EtherCAT协议:从“飞读飞写”机制到分布式时钟同步的实时以太网架构深度解析
分布式·架构·ethercat·分布式时钟·从站控制器
ShineWinsu2 天前
对于Redis:Hash类型的解析
c++·redis·分布式·缓存·面试·hash·哈希表
东方芷兰2 天前
Agent 技术摘要 03 —— 基座模型、推理模型、Flash、联邦学习、分布式机器学习
人工智能·分布式·机器学习
程序猿乐锅2 天前
【黑马点评 | 第十一篇】关注 Feed 流实现
java·数据库·redis·分布式·后端·缓存·maven