1 保证多个主机之间能够互相访问

修改host ,

vi /etc/hosts

例如修改成下面的内容:

192.168.10.157 rabbitmq-1

192.168.10.159 rabbitmq-2

192.168.10.161 rabbitmq-3.

修改后,测试各个主机是否能够互相ping通

2 关闭防火墙,或者添加以下端口

systemctl stop firewalld

或者添加端口

  firewall-cmd --permanent --zone=public --add-port=4369/tcp
firewall-cmd --permanent --zone=public --add-port=5672/tcp
firewall-cmd --permanent --zone=public --add-port=25672/tcp
firewall-cmd --permanent --zone=public --add-port=5671-5672/tcp
firewall-cmd --permanent --zone=public --add-port=15672/tcp
firewall-cmd --permanent --zone=public --add-port=61613-61614/tcp
firewall-cmd --permanent --zone=public --add-port=1883/tcp
firewall-cmd --permanent --zone=public --add-port=8883/tcp

添加后重启防火墙生效 systemctl reload firewalld.service

3 安装Erlang (RabbitMq是用Erlang编写的)

3.1 新建 /etc/yum.repos.d/rabbitmq-erlang.repo 文件并添加一下内容

[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

3.2 执行命令 yum install erlang ,安装的过程中提示yes/no 选择yes 3.3 检查是否安装成功,输入命令 erl ,如果有返回版本号之类的信息就说明安装成功 连续 按两次 Ctrl +C 退出 Erlang命令交互环境

4 安装RabbitMQ

4.1 新建 /etc/yum.repos.d/rabbitmq.repo 文件并添加一下内容

[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1

4.2 下载安装包

mkdir /usr/rabbitmq_pkg
cd /usr/rabbitmq_pkg
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

4.3 安装 yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm

5 设置各个主机的Erlang Cookie相同

输入命令cat /var/lib/rabbitmq/.erlang.cookie查看节点的Cookie 一般安装后各个节点的的Cookie 是不相同的,需要设置成一样的才行 用scp命令快速复制, 如 scp /var/lib/rabbitmq/.erlang.cookie root@192.168.5.239:/var/lib/rabbitmq/.erlang.cookie 将当前主机的cookie 复制到239主机上

6 启动RabbitMq服务

启动服务 service rabbitmq-server start 查看服务是否启动 service rabbitmq-server status 设置服务随系统自动启动 chkconfig rabbitmq-server on 如果安装前,没有设置/etc/hosts ,现在设置也行最好提前设置,免得修改配置或有其它影响 ,设置后需要重启生效 service rabbitmq-server restart

7 设置集群

各个主机rabbitmq都启动后 ,分别运行 rabbitmqctl status 看返回内容的第一行 ,Status of node 后面的值 ,如Status of node 'rabbit@rabbitmq-1'  表明了当前的Rabbit节点的名称  在要设置为子节点的主机上运行命令: rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@rabbitmq-1 //注意 rabbit@rabbitmq-1 为主节点名称 rabbitmqctl start_app  运行 rabbitmqctl cluster_status 检查当前节点的状态  如果需要更改节点类型 ,输入下面的命令 rabbitmqctl stop_app rabbitmqctl change_cluster_node_type ram 设置为内存节点 (注意集群中至少需要一个磁盘节点) rabbitmqctl change_cluster_node_type disc 设置为磁盘节点 (注意集群中至少需要一个磁盘节点) rabbitmqctl start_app

8 设置访问权限编辑每个主机的rabbitmq配置

运行命令: cp /usr/share/doc/rabbitmq-server- 3.6.10/rabbitmq.config.example/etc/rabbitmq/rabbitmq.config;

vim /etc/rabbitmq/rabbitmq.config修改内容,查找loopback_users ,将所在行修改为 %% {loopback_users, []} , 保存并退出 , 使用命令 service rabbitmq-server restart重启服务

9 添加用户

rabbitmqctl add_user root 123456 // root 为用户名, 123456为密码 rabbitmqctl set_user_tags root administrator rabbitmqctl set_permissions -p / root ".*" ".*" ".*" service rabbitmq-server restart

10 开启管理功能

开启主节点的web管理功能 rabbitmq-plugins enable rabbitmq_management; 检查已开启的插件 rabbitmq-plugins list;

浏览器访问 http://192.168.xxx.xxx:15672/#/ 输入用户名root ,密码123456登录查看

CenterOS7上搭建RabbitMQ集群的更多相关文章

  1. Docker:搭建RabbitMQ集群

    RabbitMQ原理介绍(一) RabbitMQ安装使用(二) RabbitMQ添加新用户并支持远程访问(三) RabbitMQ管理命令rabbitmqctl详解(四) RabbitMQ两种集群模式配 ...

  2. 搭建RabbitMQ集群(Docker)

    前一篇搭建RabbitMQ集群(通用)只是把笔记直接移动过来了,因为我的机器硬盘已经满了,实在是开不了那么虚拟机. 还好,我的Linux中安装了Docker,这篇文章就简单介绍一下Docker中搭建R ...

  3. Docker搭建RabbitMQ集群

    Docker搭建RabbitMQ集群 Docker安装 见官网 RabbitMQ镜像下载及配置 见此博文 集群搭建 首先,我们需要启动运行RabbitMQ docker run -d --hostna ...

  4. nginx的简单使用和使用nginx在windows上搭建tomcat集群

    nginx是一款轻量级的web服务器,常用的作用为服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器 1.为什么我们要使用Nginx? 反向代理: 反向代理(Reverse Proxy ...

  5. 在windows上搭建redis集群

    一 所需软件 Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 安装配置redis redis下载地址   ...

  6. CentOS7 搭建RabbitMQ集群 后台管理 历史消费记录查看

    简介 通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接 ...

  7. 搭建rabbitmq集群

    查看rabbitmq日志文件 开启web管理工具 [root@controller rabbitmq]# rabbitmq-plugins list [root@controller rabbitmq ...

  8. 用 HAproxy 搭建 RabbitMQ 集群

    构建参考: [ Rabbitmq cluster setup with HAproxy ] [ python demo ] RabbitMQ Cluster 遇到的问题 python pika 作为c ...

  9. Azure上搭建ActiveMQ集群-基于ZooKeeper配置ActiveMQ高可用性集群

    ActiveMQ从5.9.0版本开始,集群实现方式取消了传统的Master-Slave方式,增加了基于ZooKeeper+LevelDB的实现方式. 本文主要介绍了在Windows环境下配置基于Zoo ...

  10. Kubernetes-在Kubernetes集群上搭建HBase集群

    经过3天的努力,终于在Kubernetes上把HBase集群搭建起来了,搭建步骤如下. 创建HBase镜像   配置文件包含core-site.xml.hbase-site.xml.hdfs-site ...

随机推荐

  1. APACHE正向代理配置

    Apache快速安装和反向代理配置:https://www.cnblogs.com/brad93/p/16718104.html Apache正向代理配置参考教程:https://www.cnblog ...

  2. 你不知道的Map家族中的那些冷门容器

    概述 本篇文章主要讲解下Map家族中3个相对冷门的容器,分别是WeakHashMap.EnumMap.IdentityHashMap, 想必大家在平时的工作中也很少用到,或者压根不知道他们的特性以及适 ...

  3. 《HTTP权威指南》– 9.识别和认证

    客户端识别与Cookie机制 承载用户相关信息的HTTP首部 From Email地址 User-Agent 浏览器软件 Referer 跳转链接<来自> Author ziation 用 ...

  4. Nmap扫描参数

    执行Nmap/nmap --help查看帮助文档,将显示Namp的用法及其功能Nmap的相关参数的含义与用法:扫描目标时用到的参数:-iL:从文件中导入目标主机或目标网段-iR:随意选择目标主机--e ...

  5. 【环境搭建】RocketMQ集群搭建

    前置条件及效果图 条件: 两台服务器,个人是两台腾讯云服务器(其中嫖的朋友一个): 版本: rocketmq-version:4.4.0 rocketmq-console(mq控制台) Java:1. ...

  6. Go语言与其他高级语言的区别

    概述: go语言与其他语言相比,go语言的关键字非常少,只有25个,c语言有37个,c++有84个,python有33个,java有53个. 差异1:go语言不允许隐式转换,别名和原有类型也不能进行隐 ...

  7. IDEA中给源码添加自己注释——private-notes插件安装使用

    一.前言 我们在空闲之余喜欢研究一些经典框架的源码,发现没办法把自己的注释添加上. 会给出提示:File is read-only 很烦,但是为了安全考虑也是没有办法的! 这是一个大佬就写了一个IDE ...

  8. Django框架:13、csrf跨站请求伪造、auth认证模块及相关用法

    Django框架 目录 Django框架 一.csrf跨站请求伪造 1.简介 2.csrf校验策略 form表单csrf策略 ajax请求csrf策略 3.csrf相关装饰器 FBV添加装饰器方式 C ...

  9. ua5.4源码剖析:三. C++与Lua相互调用

    概述 从本质上来看,其实说是不存在所谓的C++与lua的相互调用.lua是运行在C上的,简单来说lua的代码会被编译成字节码在被C语言的语法运行.在C++调用lua时,其实是解释运行lua文件编译出来 ...

  10. LinkedList集合-Vector集合

    LinkedList集合 java.util.LinkedList集合数据存储的结构是链表结构.方便元素添加.删除的集合.LinkedList是一个双向链表,那么双向链表是什么样子的呢,我们用个图了解 ...