RabbitMQ(三) 集群配置
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,不做缀诉了。
RabbitMQ(三) 集群配置的更多相关文章
- 安装rabbitmq以及集群配置
前言: (一些有用没用的唠叨,反正看了也不少肉,跳过也没啥) 情况是这样的:虚拟机.CentOS 6.5.免编译包安装rabbitmq集群,可不用连外网. 我原计划是安装在虚拟机上wyt1/wyt2/ ...
- RabbitMq 集群配置
1. RabbitMQ 所需的附属安装包 1.1 openGL安装 执行命令: [root@localhost local]# yum install mesa-libGL-devel mesa-l ...
- rabbitmq安装与高可用集群配置
rabbitmq版本:3.6.12 rabbitmq安装 1.安装openssl wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz &a ...
- 三(2)、springcloud之Eureka集群配置
1)原理说明** 服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会 ...
- Hadoop入门学习笔记-第三天(Yarn高可用集群配置及计算案例)
什么是mapreduce 首先让我们来重温一下 hadoop 的四大组件:HDFS:分布式存储系统MapReduce:分布式计算系统YARN: hadoop 的资源调度系统Common: 以上三大组件 ...
- RabbitMQ分布式集群架构和高可用性(HA)
(一) 功能和原理 设计集群的目的 允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行 通过增加更多的节点来扩展消息通信的吞吐量 1 集群配置方式 RabbitMQ可以通过三种方法来部署分布 ...
- 关于RabbitMQ分布式集群架构
RabbitMQ分布式集群架构和高可用性(HA) (一) 功能和原理 设计集群的目的 允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行 通过增加更多的节点来扩展消息通信的吞吐量 1 集群配 ...
- Centos 7 RabbitMQ + Haproxy 集群高可用部署
一. 功能和原理介绍 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionSc ...
- RabbitMQ之集群搭建
1.RabbitMQ集群模式RabbitMQ集群中节点包括内存节点(RAM).磁盘节点(Disk,消息持久化),集群中至少有一个Disk节点. 2.普通模式(默认) 对于普通模式,集群中 ...
随机推荐
- numpy安装失败-小失误
1. 古老的方法: 安装python numpy库AMD64 失败,网上的教程是这样的:http://www.cnblogs.com/zhuyp1015/archive/2012 ...
- Type class-Typeclass-泛型基础上的二次抽象---随意多态
对泛型的类型添加约束,从而使泛型类型的变量具有某种通用操作. 再使用这些操作,参与到其它操作中. In computer science, a type class is a type system ...
- js手机移动端选择插件 mobileSelect.js
一.mobileSelect获取方法 mobileSelect支持单选.多级联动.自定义回调函数.二次渲染.最新版本下载地址[2017-09-21更新]: https://github.com/onl ...
- 【笔记】Linux就该这么学-第六课第四章
vim使用 a 在光标后一位置插入 i 在光标当前位置插入 o 在光标下面创建个空行 dd 删除(剪切)光标所在行 5dd 删除(剪切)从光标处开始的5行 yy 复 ...
- 洛谷P1115 最大子段和【dp】
题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 第一行是一个正整数NN,表示了序列的长度. 第二行包含NN个绝对值不大于1000010000的整数A_iAi ...
- Java常量池详细说明
java常量池技术 java中的常量池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复创建相等变量时节省了很多时间.常量池 ...
- laravel-hprose(rpc框架)
Laravel-hprose 基于 hprose/hprose-php 开发的Laravel扩展:laravel-hprose 版本要求 Laravel>=5.2 安装 composer req ...
- python爬虫04 | 长江后浪推前浪,Reuqests库把urllib库拍在沙滩上
最近 有些朋友 看完小帅b的文章之后 把小帅b的表情包都偷了 还在我的微信 疯狂发表情包嘚瑟 我就呵呵了 只能说一句 盘他 还有一些朋友 看完文章不点好看 还来催更 小帅b也只能说一句 继续盘他 ...
- Shell入门基础
Shell的Helloworld #!/bin/bash echo "helloworld taosir" 执行方式 方式一:用 bash 或 sh 的相对或绝对路径(不用赋予脚本 ...
- TotoiseSVN使用教程
TortoiseSVN百科 TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外, ...