资料参考网址

http://blog.csdn.net/woogeyu/article/details/51119101
http://www.cnblogs.com/lion.net/p/5725474.html
https://segmentfault.com/a/1190000010693696#articleHeader4
https://segmentfault.com/a/1190000010702020

rabbitMQ集群搭建注意问题

不同于单机多节点的情况,在多机环境,如果要在cluster集群内部署多个节点,需要注意两个方面:1  保证需要部署的这几个节点在同一个局域网内2  需要有相同的Erlang Cookie,否则不能进行通信,为保证cookie的完全一致,采用从一个节点copy的方式复制到其他节点。

时间同步:

yum install ntpdate
ntpdate time.nist.gov

环境准备

192.168.138.131 centos-01
192.168.138.132 centos-02
192.168.138.133 centos-03

各节点都要安装RabbitMQ(集群前提) RabbitMQ 安装需要依赖 Erlang 环境

    yum install wget$ cd /opt$ wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm$ yum install erlang-19.0.4-1.el7.centos.x86_64.rpm

安装 RabbitMQ

$ cd /opt
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
$ yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm
cd /sbin/
rabbitmq-plugins enable rabbitmq_management  (管理界面开启)
rabbitmq-server -detached (后台启动)或者 service rabbitmq-server start
service rabbitmq-server status
rabbitmqctl stop

放开5672与15672端口

firewall-cmd --permanent --zone=public --add-port=5672/tcp
firewall-cmd --permanent --zone=public --add-port=15672/tcp
systemctl restart firewalld.service

访问http://ip:15672/ 账户:guest 密码: guest登陆不进去解决

cd  /var/log/rabbitmq/
less rabbit@localhost.log
这里显示的是没有找到配置文件,我们可以自己创建这个文件
config file(s) : /etc/rabbitmq/rabbitmq.config (not found)
创建rabbitmq.config
cd /etc/rabbitmq/
touch rabbitmq.config
vi rabbitmq.config
编辑内容如下:
[{rabbit, [{loopback_users, []}]}].
注意:这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。

开机自启动

chkconfig rabbitmq-server on

设置不同节点间同一认证的Erlang Cookie 使用以下命令将centos-01中的/var/lib/rabbitmq/.erlang.cookie 复制到其他节点。在centos-01节点运行以下命令:

cd /var/lib/rabbitmq/
ll -a .erlang.cookie  (该文件是隐藏文件)
scp /var/lib/rabbitmq/.erlang.cookie  root@centos-02:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie  root@centos-03:/var/lib/rabbitmq/.erlang.cookie
会提示输入yes 和 密码由于文件是400的权限,所以在centos-02以及centos-03节点运行以下命令:
chmod 600  /var/lib/rabbitmq/.erlang.cookie

界面

在centos-01节点增加用户,并且为用户赋予权限
rabbitmqctl add_user pyps pyps
rabbitmqctl set_user_tags pyps administrator
rabbitmqctl set_permissions -p /  pyps '.*' '.*' '.*'
通过http://192.168.138.131:15672 用户名为:pyps 密码为:pyps联入第一台配置成功的RabbitMQ服务器。其他节点暂不配置

组成集群

这个centos-01节点也可以不执行,直接在节点服务器执行下边的脚本,不过得保证这个rabbitmq服务是正常启动的centos-01 $ rabbitmqctl stop_app  按照顺序执行 先centos-02,centos-03
centos-02 $ rabbitmqctl stop_app                            # 停止rabbitmq服务
centos-02 $ rabbitmqctl join_cluster rabbit@centos-01          # centos-02和centos-01构成集群, centos-02必须能通过centos-01的主机名ping通
centos-02 $ rabbitmqctl start_app                           # 开启rabbitmq服务centos-03 $ rabbitmqctl stop_app                          # 停止rabbitmq服务
centos-03 $ rabbitmqctl join_cluster rabbit@centos-01           # centos-03和centos-01构成集群, centos-02必须能通过centos-01的主机名ping通
centos-03 $ rabbitmqctl start_app   #要复制队列内容到集群里的每个节点,需要创建镜像队列RabbitMQ镜像功能:(在普通集群的中任意节点启用策略,策略会自动同步到集群节点)rabbitmqctl set_policy -p hrsystem ha-allqueue"^" '{"ha-mode":"all"}'例如下面的命令,^message 这个规则要根据自己修改,这个是指同步"message"开头的队列名称,我们配置时使用的应用于所有队列,所以表达式为"^"。rabbitmqctl set_policy -p hrsystem ha-allqueue "^message" '{"ha-mode":"all"}'

分别查看下每个节点

rabbitmqctl cluster_status
每个节点
firewall-cmd --permanent --zone=public --add-port=25672/tcp
systemctl restart firewalld.service
或者关闭防火墙
systemctl stop firewalld.service

安装HAProxy

选择开源的HAProxy为RabbitMQ集群做负载均衡器,在CentOS 7.0中安装HAProxy。1安装epel(清华大学开源软件镜像站)rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm2 安装HAProxyyum list |grep haproxyyum -y install haproxy.x86_64 HA-Proxy version 1.5.18
3 配置HAProxy(这台机器centos-03 192.168.138.133)cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak (备份)vi /etc/haproxy/haproxy.cfg  ####################################################################
listen private_monitoring bind 192.168.138.133:8989           mode httpoption  httploglog  globalstats enablestats refresh 30s stats show-node       stats uri /haproxy?stats    stats realm Haproxy\ Statisticsstats auth admin:admin
####################################################################
listen  rabbitmq_local_cluster bind 192.168.138.133:5670option tcplogmode tcptimeout client  3htimeout server  3hoption  clitcpkabalance roundrobin     server rabbit131 192.168.138.131:5672 check inter 5s rise 2 fall 3server rabbit132 192.168.138.132:5672 check inter 5s rise 2 fall 3server rabbit133 192.168.138.133:5672 check inter 5s rise 2 fall 3启动访问http://192.168.138.133:8989/haproxy?stats无显示页面 解决办法(当前版本HA-Proxy version 1.5.18) 低于1.7.5版本需要执行vi /etc/sysconfig/selinux SELINUX=disabled:wq! #保存退出reboot

放开5670与8989端口

firewall-cmd --permanent --zone=public --add-port=5670/tcp
firewall-cmd --permanent --zone=public --add-port=8989/tcp
firewall-cmd --permanent --zone=public --list-ports
systemctl restart firewalld.service service haproxy status #查看状态
service haproxy start #启动
service haproxy stop  #关闭
service haproxy restart  #重启
chkconfig haproxy on  #设置开机启动

各节点 启用stomp plugin命令代码 websocket使用了rabbitmq stomp协议 需要启动他

rabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq-plugins enable rabbitmq_web_stomp_examples

centos7 rabbitMQ集群搭建相关推荐

  1. RabbitMQ集群搭建(七)

    先来介绍一下RabbitMQ集群 RabbitMQ集群有两种模式,一种是普通模式,即默认的集群模式,另外一种为镜像模式,可以把队列做成镜像队列 我们在学习两种模式之前,先来了解下一些关于RabbitM ...

  2. RabbitMQ集群搭建

    目录 RabbitMQ集群搭建 集群方案的原理 单机多实例部署 停止rabbitmq服务 结束命令: rabbit2操作为从节点: 查看集群状态: web监控: 总结 RabbitMQ集群搭建 摘要: ...

  3. rabbitmq 集群搭建

    消息队列对于处理高并发还是非常不错的选择.所以电商必然会采取这种方式.废话不多说.贴代码先. 搭建环境: Mac OS X 10.10.5 VMware Fusion8 Centos 6.7 rabb ...

  4. CentOS7 hadoop集群搭建

    搭建 Hadoop集群 配置名字hadoop1.hadoop2.hadoop3 hostnamectl set-hostname hadoop1 hostnamectl set-hostname ha ...

  5. RabbitMQ集群搭建、镜像队列、实现高可用负载均衡、Federation Exchange、Federation Queue、Shovel

    1.环境准备 IP地址 主机名 192.168.56.20 conch01 192.168.56.21 conch02 192.168.56.22 conch03 2.安装 rabbitmq集群 1. ...

  6. centos7 redis集群搭建

    说明 本次搭建是在单机版搭建基础上搭建的.阅读之时请参考下面文章: redis单机版搭建 在同一台机器上搭建的,所以是伪集群搭建.真正搭建应该是在不同的机器上. 架构图 搭建过程 创建data的保存目 ...

  7. RabbitMQ 集群搭建_02_rpm版本(linux环境)

    接上一篇:(企业级) CentOS7 安装 RabbitMQ最新版本 下载.安装.配置.运行.部署_01 文章目录 一.SHELL脚本说明 1. 选择脚本的原因 2. 脚本总览 二.脚本实战 2.1. ...

  8. rabbitmq集群搭建以及万级并发下的性能调优

    一. 服务器列表 ROLE OPERATING SYSTEM NAME SIZE AVAILABILITY SET PRIVATE IP ADDRESS DATA DISKS MOUNT  POINT ...

  9. RabbitMq(集群搭建)

    一.集群分类 普通集群 是一种分布式集群,将队列分散到各个节点上,提高整个集群的并发能力. 镜像集群 是一种主从集群,在普通集群的基础上,添加了主从备份,提高了数据可用性.(镜像集群虽然支持主从,但不 ...

最新文章

  1. spring boot filter配置方式
  2. python随机生成10个整数列表_python_随机产生10个整数后找出最小值,最大值。
  3. (转)用JS实现表格中隔行显示不同颜色
  4. 95-24-020-Future-Future简介
  5. springboot map数据类型注入_Spring Boot(五):春眠不觉晓,Mybatis知多少
  6. 动态开辟内存_C/C++工程师你理解程序的内存分区吗?
  7. 萤火小程序商城系统安装教程
  8. 用excel绘制统计图
  9. RGB YUV XYZ HSL CIE1976L*a*b* LCH的色彩空间图 色彩空间 转换公式
  10. 使用M25或M26进行FTP文件下载的程序设计与实现
  11. 语音识别中声学模型训练过程-GMM(一)
  12. python randn_numpy.random.randn()用法
  13. IE浏览器运行Applet
  14. 复杂系统理论解释了Covid为何粉碎世界
  15. RocketMQ-broker启动流程详解
  16. matlab总路径最短问题,最短路径问题(急)
  17. 东望时代(原中国建筑第一股浙江广厦),将换域名,升级官网为数字化网站
  18. 【beta】nice!-------约吧NABCD
  19. 【题解】【PTA-Python题库】第1章-3 输出“人生苦短,我学Python” (10 分)
  20. Proteus简单入门教程以及使用Proteus仿真STM32F103单片机和Arduino单片机

热门文章

  1. 豆瓣 9.0,评论人数过万的 9 本经典科技图书 | 码书排行榜
  2. 企业管理信息系统整体业务流程图
  3. 【Jetson TX2】下载并安装JetPack
  4. CST软件遇到这个问题,打不开软件,有什么办法?求教各位电磁学同行
  5. surfer编辑color scale ,坐标投影后添加经纬度线
  6. 【angular】angular框架介绍
  7. 读吴宇虹之《泥板上不朽的苏美尔文明》
  8. 波动速读入门训练(含黄卡、曼陀螺使用方法)
  9. 搜狗浏览器收藏夹转换IE PHP SimpleXmlIterator
  10. C语言和C++的不同之处和相同之处