RabbitMQ——集群配置

之前不管是搞Redis、SQL、Mongo还是其他的东西,一律都没说过集群要怎么搞,电脑实在是带不动、说透彻点就是懒,懒得搭也懒得写,今日深刻意识到错误,做学问是不能懒的,会被人喷的,发个集群配置的简版吧。

一点废话

可以不看,之前用的Windows,最后想想撘集群什么的还是用CentO逼格更高一点,这年头就是搞Linux的看不起Windows、搞Java的看不起搞C#的,就装了两个CentOS7,装上后黑屏!!!查了一堆的解决方案:

  • 虚拟机的显示配置里把3D加速关了,看了看,确实没勾,没用!
  • 本机的BIOS的处理器设置中开启虚拟化设置,没用!!
  • 输入命令“netsh winsock reset”后重启,没用!!!
  • 虚拟机屏幕亮度问题.......

重装?不可能的,这辈子都不可能重装的,发大招,使用如下命令:

yum remove gnome-shell

既然你不好好干活,那就下岗吧,完美解决,不得不为我的机智点个赞。

言归正传

集群这一块的话,一般有单机集群和多机集群,单机集群实在是不推荐,本来就是为了分散风险,现在搭在一台上,服务器挂了就歇菜了,实在有需求可以看看[https://blog.csdn.net/u013256816/article/details/53264715]。

这里再说一句废话,很重要,很多博客里也不提这茬,估计是觉得不需要说吧,但咱是个菜鸡啊,搭建集群前最好改一下主机名,否则会比较烦,这里我将“/etc/hostname”中的主机名分别设置为192-168-253-133、192-168-253-134,本来希望找一种方式不修改主机名就达到目的,很遗憾,没找到,知道的大神烦请告诉我一声。改主机名就比较简单了,直接修改/etc/hostname中的名字然后reboot就行。接下来照如下步骤执行即可:

  • 目前有两台服务器133和134,先启动rabbitmq服务:
rabbitmq-server -detached #这个detached表示在后台运行
  • 分别在/etc/hosts下添加133和134配置
192.168.253.133 192-168-253-133
192.168.253.134 192-168-253-134
  • 使用scp命令将$HOME/.erlang.cookie(自己下载安装的)或者/var/lib/rabbitmq/.erlang.cookie(使用rpm安装的)中的cookie从133拷贝到134服务器上。
scp $HOME/.erlang.cookie root@192-168-253-134:$HOME/.erlang.cookie
  • 开启133服务器的节点
rabbitmqctl start_app
  • 134服务器上的加入cluster中后启动
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@192-168-253-133
rabbitmqctl start_app

以上就是多机集群的部署步骤,当然了这种模式下数据结构共享,也就是对于Queue来说每个节点上都有,但是数据只存在某一个节点上,当某个节点故障后,该节点上的数据是无法被消费的,若是做了持久化,只有等待该节点恢复后才可以被消费。那么有没什么方式能够实现数据在各节点间相互同步能,镜像策略可以解决这个问题,不过这种方式会占用各节点之间的网络带宽。当然你有两种方式可以选择:

  • 第一种是在rabbitmq的管理界面的admin/policies/add or update a plicy中配置,markdown懒得搞图,自己找找吧。
  • 第二种自然是敲命令啦:
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:”all”}’

这个策略使用比较灵活,也可以选择只同步部分队列,关心的同志们可以详细了解一下,到这里基本上就完成了集群的配置,至于负载啊用Haproxy的比较多,土豪用F5也可以啊,Haproxy后面再说,后面还有一些废话,老司机们可以不看了。

一些命令

写了这么多是不是敲命令有点晕?这里我们细说一下,网上抄的:

  • rabbitmq-server –detached:在后台启动rabbitmq;
  • rabbitmqctl add_user admin admin:添加用户;
  • rabbitmqctl set_user_tags admin administrator:修改用户角色;
  • rabbitmqctl list_users:查看用户列表;
  • rabbitmqctl set_permissions -p / admin "." "." ".*":使用户拥有所有资源的配置、写、读权限以便管理其中的资源;
  • rabbitmqctl delete_user admin:删除用户;
  • rabbitmqctl change_password admin admin:修改用户密码;
  • rabbitmqctl add_vhost myvhost:添加新的vhost;
  • rabbitmqctl delete_vhost myvhost:删除指定的vhost;
  • rabbitmqctl status:查看服务器状态;
  • rabbitmqctl list_queues:查看队列信息;
  • rabbitmqctl start_app:开启应用;
  • rabbitmqctl stop_app:关闭应用;
  • rabbitmq-plugins enable rabbitmq_management:启用图形界面;
  • rabbitmqctl -p / purge_queue queue1:清空队列queue1中的数据;
    更多参数见rabbitmqctl,不做缀诉了。

转载于:https://www.cnblogs.com/krockey/p/9037450.html

RabbitMQ(三) 集群配置相关推荐

  1. RabbitMQ 镜像集群配置_05

    接上一篇:(企业级) RabbitMQ 普通集群配置_04 文章目录 一.RabbitMQ 策略实战 1. 创建RabbitMQ 策略 2. ly-01节点查看创建RabbitMQ 策略 3. 登录l ...

  2. RabbitMQ 普通集群配置_04

    接上一篇:(企业级) 搭建集群 RabbitMQ SHELL脚本实战_03 文章目录 RabbiMQ简介 RabbiMQ模式 RabbiMQ特点 环境部署总览 一.基础配置及RabbitMQ 安装 1 ...

  3. rabbitmq集群配置

    1. 在node2.node3.node4三台Linux虚拟机中安装RabbitMQ. 2. 从node2拷贝.erlang.cookie到node3.node4的相应目录 如果没有该文件,手动创建 ...

  4. 亲测可用,超详细RabbitMQ消息队列集群配置

    RabbitMQ是什么? MQ(Message Queue,消息队列)消息中间件,一般以集群方式部署,主要提供消息的接受和发送,实现各微服务之间的消息同步. 原理介绍 rabbitmq是依据erlan ...

  5. 大数据互联网架构 tomcat集群配置时三个端口的作用

    tomcat集群配置时三个端口的作用 在配置多个tomcat时需要同时配置这三个端口 Connector用于监听请求 protocol: http/1.1协议 , 用于监听浏览器发送的请求 , 设置成 ...

  6. redis三:集群配置

    文章目录 redis集群配置 主从复制 哨兵模式 集群搭建 redis集群配置 不熟悉redis请先看:redis6学习 主从复制 主从模式指的是使用一个redis实例作为主机,其余的实例作为备份机. ...

  7. SpringCloud(三 Eureka集群配置)

    1.Eureka集群配置原理 互相注册!! 互相守望 ! 2.集群搭建 2.1 修改映射文件 到C:\Windows\System32\drivers\etc下的host文件中修改! 2.2 建mod ...

  8. RabbitMQ分布式集群架构

    RabbitMQ分布式集群架构和高可用性(HA) (一) 功能和原理 设计集群的目的 允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行 通过增加更多的节点来扩展消息通信的吞吐量 1 集群配 ...

  9. 消息中间件—RabbitMQ(集群原理与搭建篇)

    一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试环境上使用其单实例部署就可以了,但是出于MQ中间件本身的可靠性.并发性.吞吐量和消息堆积能力等问题的考虑,在生产 ...

最新文章

  1. 【Java代码】道格拉斯-普克 Douglas-Peucker 抽稀算法(算法流程图解+使用JDK8方法实现+详细注解源码)
  2. R中大数据量数据框的合并慎重使用rbind
  3. pycharm中python的默认安装路径_mac PyCharm添加Python解释器及添加package路径的方法...
  4. android 快传 源码_最新安卓仿茄子快传APP源码包括服务端源码Android开发快传类项目源码全套...
  5. Spring Boot项目CentOS域名的绑定
  6. 简单的Jquery焦点图切换效果
  7. 【Python读文件】'gbk' codec can't decode byte 0xb1 in position 5: illegal multibyte sequence
  8. UNITY3d在移动设备上的一些优化实战(一)-概述
  9. 内网远程工具vnc 内网远程工具vnc选择与安装
  10. 免费服务器+免费域名 【白嫖手册】
  11. PTA题目 : 用指针实现将一个3*3的整型矩阵转置
  12. 为什么说HHKB是程序员最好的键盘?
  13. 中学-知识与能力【5】
  14. 基于Jenkins搭建iOS持续集成开发环境
  15. Hedge fund Two Sigma hires Alfred Spector as Chief Technology Officer
  16. Java清空文件内容
  17. pdf 电子签章 java_在pdf上加盖电子签章
  18. 瀑布模型的特点及优缺点
  19. C# List集合快速拼接字符串
  20. 外贸人必学的四十个地道英语表达

热门文章

  1. 【Leetcode - 172】阶乘后的零(思维)
  2. 【HDU - 5009】Paint Pearls(dp,链表优化dp)
  3. 【Gym - 101608G】WiFi Password (区间或,线段树 或 按位处理+尺取 或 二分)
  4. 【POJ - 1961】Period(KMP,循环节问题)
  5. 我的第一个Python程序(简单的用户名密码登录程序)
  6. 全国计算机等级考试职称,全国职称计算机考试与全国计算机等级考试有什么不同?...
  7. a1708硬盘转接口_资讯:希捷上架新款银河Exos系列机械硬盘,15000转+SAS协议
  8. java千万用户实现实时排名_想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜...
  9. linux 串口 lsr 0xc9,串口发送0x0D后,从串口接收到数据被转换成了0x0A
  10. mysql linux环境安装_MySQL Linux环境的安装配置