码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS 7 下 RabbitMQ 集群搭建

时间:2017-10-16 19:25:00      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:lib   delete   web   user   grep   .com   bit   启动   ssi   

环境

10.0.0.20 node1 
10.0.0.21 node2
10.0.0.22 node3

搭建(在所有节点执行)

添加EPEL源

[root@node1 ~]# rpm -Uvh https://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

添加Erlang

[root@node1 ~]# rpm -Uvh http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

安装RabbitMQ

[root@node1 ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
[root@node1 ~]# rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
[root@node1 ~]# yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

启动服务

[root@node1 ~]# systemctl enable rabbitmq-server.service
[root@node1 ~]# systemctl start rabbitmq-server.service

查看端口监听状态 5672为集群间通信端口,15672为web端管理端口

[root@node1 ~]# netstat -atn |grep 5672

启用RabbitMQ监控插件

[root@node1 ~]# rabbitmq-plugins enable rabbitmq_management

RabbitMQ用户管理

添加用户为:root ,密码为:admin)

[root@node1 ~]# rabbitmqctl add_user admin admin

设置用户角色(设置admin用户为管理员角色)

[root@node1 ~]# rabbitmqctl set_user_tags admin administrator

设置用户权限(设置admin用户配置、写、读的权限)

[root@node1 ~]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

删除用户(删除guest用户)

[root@node1 ~]# rabbitmqctl delete_user guest

RabbitMQ集群配置

添加/etc/hosts条目,在node1、node2、node3 里的/etc/hosts文件中分别添加

10.0.0.20 node1 
10.0.0.21 node2
10.0.0.22 node3

设置 Erlang Cookie

Erlang Cookie 文件:/var/lib/rabbitmq/.erlang.cookie。这里将 node3 的该文件复制到 node1、node2,由于这个文件权限是 400,所以需要先修改 node1、node2 中的该文件权限为 777,然后将 node3 中的该文件拷贝到 node1、node2,最后将权限和所属用户/组修改回来。

将node3 的cookie发送到 node1和node2 上

[root@node1 ~]# chmod 777 /var/lib/rabbitmq/.erlang.cookie
[root@node2 ~]# chmod 777 /var/lib/rabbitmq/.erlang.cookie
[root@node3 ~]# scp /var/lib/rabbitmq/.erlang.cookie 10.0.0.20:/var/lib/rabbitmq/.erlang.cookie
[root@node3 ~]# scp /var/lib/rabbitmq/.erlang.cookie 10.0.0.21:/var/lib/rabbitmq/.erlang.cookie
[root@node1 ~]# chmod 400 /var/lib/rabbitmq/.erlang.cookie
[root@node2 ~]# chmod 400 /var/lib/rabbitmq/.erlang.cookie

启动服务

[root@node1 ~]# systemctl start rabbitmq-server.service
[root@node1 ~]# rabbitmq-server -detached

配置防火墙(如果开启)

[root@node1 ~]# firewall-cmd --permanent --add-port={4369/tcp,25672/tcp}
[root@node1 ~]# firewall-cmd --reload

配置集群

默认是磁盘节点,如果是内存节点的话,需要加--ram参数

将node1节点加入node3作为RAM类型节点

[root@node1 ~]#rabbitmqctl stop_app
[root@node1 ~]#rabbitmqctl reset
[root@node1 ~]#rabbitmqctl join_cluster root@node3 --ram
[root@node1 ~]#rabbitmqctl start_app

将node2节点加入node3 作为disc类型节点

[root@node2 ~]#rabbitmq stop_app 
[root@node2 ~]#rabbitmqctl reset 
[root@node2 ~]#rabbitmqctl join_cluster root@node3 
[root@node2 ~]#rabbitmqctl start_app 
(rabbitmq集群节点有disc 和ram两种类型,一个集群中至少要有一个disc类型的节点,不指定默认加入为disc)

设置镜像队列策略

[root@node1 ~]# rabbitmqctl set_policy ha-all "^" ‘{"ha-mode":"all"}‘
查看状态

查看应用状态

[root@node3 ~]# rabbitmqctl status

查看集群信息

[root@node3 ~]# rabbitmqctl cluster_status

访问任意管理端界面查看

http://ip:15672

 

CentOS 7 下 RabbitMQ 集群搭建

标签:lib   delete   web   user   grep   .com   bit   启动   ssi   

原文地址:http://www.cnblogs.com/wanglan/p/7678100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!