当前位置: 首页 > news >正文

rabbitmq消息队列实验

实验目的:实现异步通信

实验条件:

主机名

IP地址

组件

test1

20.0.0.10

rabbitmq服务

test2

20.0.0.20

rabbitmq服务

test3

20.0.0.30

rabbitmq服务

实验步骤:

1、安装rabbitmq服务

2、erlang进入命令行,查看版本

erl

q().

rabbitmqctl version

3、主机映射

vim /etc/hosts

4、设置集群为镜像模式,集群节点互为对方节点的主节点

(1)启动rabbitmq服务

(2)安装网页插件,使得集群可以通过网页访问

rabbitmq-plugins enable rabbitmq_management

(3)在test1节点操作

①将主节点的cookie复制到其他两个节点

scp /var/lib/rabbitmq/.erlang.cookie root@20.0.0.20:/var/lib/rabbitmq/.erlang.cookie

scp /var/lib/rabbitmq/.erlang.cookie root@20.0.0.30:/var/lib/rabbitmq/.erlang.cookie

②查看集群状态

rabbitmqctl cluster_status

(4)在test2节点上操作【test3上同操作】

①加入集群

rabbitmqctl stop_app     #停止服务

rabbitmqctl reset        #重置数据,会把数据都删除

rabbitmqctl    join_cluster  rabbit@test1   #加入集群

rabbitmqctl start_app    #启动服务

rabbitmqctl set_policy    ha-all "#"    '{"ha-mode":"all"}'  

#设置集群为镜像模式

rabbitmqctl cluster_status    #确认集群状态

5、确认集群是否同步

在test1上创建一个用户

rabbitmqctl add_user yyy               #添加账户

rabbitmqctl set_user_tags yyy administrator    

#将账户打上最高权限标签

rabbitmqctl set_permissions yyy ".*" ".*" ".*"  #设置为最高权限

rabbitmqctl list_users  #查看所有用户

6、在test2,test3确认账户生成,证明数据同步成功,集群搭建完成

rabbitmqctl list_users

账户同步,集群搭建完成

7、登录网页查看集群状态

20.0.0.20:15672

创建用户,赋予管理员权限

发布消息

用新建的用户登录节点服务器

问题:需要安全验证,无法登录

原因:集群挂了,无法同步新建的用户

解决:节点服务器重新加入集群

消费消息

相关文章:

  • LuatOS-SOC接口文档(air780E)--repl - “读取-求值-输出” 循环
  • uni微信小程序,富文本以及普通文本,长按选中,可用于复制,粘贴等场景
  • plt绘制表格
  • 码云配置遇到秘钥不正确
  • 全栈软件开发工程师需要具备哪些技能
  • 【Windows】解决Windows11错误0x80190001
  • Spring三级缓存处理循环依赖的过程
  • 车牌限行_分支结构的C语言实现xdoj7
  • 在Linux上安装KVM虚拟机
  • Navicat连接Oracle数据库记录
  • 2023.11.23 云服务器实现 Spring Boot 项目文件上传并访问
  • 【微信小程序】保存多张图片到本地相册 wx.saveImageToPhotosAlbum
  • R语言30分钟入门
  • Tomcat的安装及其使用
  • 【接口自动化】selenium库也有大用场(获取cookie)
  • [NodeJS] 关于Buffer
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • IOS评论框不贴底(ios12新bug)
  • JavaScript DOM 10 - 滚动
  • JDK9: 集成 Jshell 和 Maven 项目.
  • rabbitmq延迟消息示例
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Theano - 导数
  • Zsh 开发指南(第十四篇 文件读写)
  • 分类模型——Logistics Regression
  • 微信小程序填坑清单
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • python最赚钱的4个方向,你最心动的是哪个?
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​马来语翻译中文去哪比较好?
  • !!java web学习笔记(一到五)
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (c语言)strcpy函数用法
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (转) ns2/nam与nam实现相关的文件
  • (转)负载均衡,回话保持,cookie
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .skip() 和 .only() 的使用
  • @取消转义
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • []error LNK2001: unresolved external symbol _m
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [android] 看博客学习hashCode()和equals()
  • [BIZ] - 1.金融交易系统特点
  • [EMWIN]FRAMEWIN 与 WINDOW 的使用注意
  • [hive小技巧]同一份数据多种处理
  • [HOW TO]怎么在iPhone程序中实现可多选可搜索按字母排序的联系人选择器
  • [IE编程] IE中使网页元素进入编辑模式