资料参考网址

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. java不四舍五入_JAVA-四舍五入之坑
  2. 【Java学习笔记】字符串和Date的转换
  3. C语言使用QR(正交三角)求特征值eigen values(附完整源码)
  4. pb65 xp 安装无反应_长春优质AFB型耐腐蚀泵安装
  5. 离散数学及其应用怎么样_有名气的冲击式移动破碎站效果怎么样?
  6. 百度推出海外版网盘:竟免费不限速
  7. 国人不能再过度迷信开源软件
  8. 1694件AI事件大盘点!2020年12月,哪些让你记忆深刻
  9. maven安装配置:报错NB: JAVA_HOME should point to a JDK not a JRE
  10. [十大谬论]常见的逻辑谬误与批判方法
  11. DCDC开关电源的阶跃响应和动态响应(Load Transient)的区别
  12. MBA教学目标、内容和方法
  13. HTTP协议压缩格式和URL编码介绍
  14. win10 运行 bat 文件闪过解决办法
  15. C# 参考 cool edit 样式, 绘制音频波形图
  16. 东方博宜oj答案c++版
  17. 阿里云服务器ecs的功能和优势
  18. 【快速开发VoIP】(原理篇)
  19. 网页字体在Frontpage2000制作网页中的讲解
  20. 非图形化流程定义部件的要素

热门文章

  1. 云计算基础运维任务时间同步配置
  2. windows ubuntu双系统引导设置
  3. 【侯捷】C++面向对象高级编程(上)
  4. SCHNOKA施努卡:扁线电机定子自动绕线机厂家 全自动电机绕线机生产厂家
  5. 车船税业务知识学习--北京(五)
  6. 【GPS授时系列】通过USB接口获取PPS信号
  7. Win11开始菜单恢复Win10样式的方法
  8. 基于Python获取亚马逊的评论
  9. MAC地址是干什么的?底层原理是什么?
  10. 论如何优雅地边吃瓜边玩游戏