1、RabbitMQ是用erlang语言编写的,所以我们先安装erlang语言环境

配置erlang语言环境

# vim /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

enabled=1

# rpm --import  https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc

# yum install erlang socat  -y  #安装erlang

 

2、安装rabbitmq服务

下载rabbitmq地址:http://www.rabbitmq.com/download.html

 

#wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm

#  yum localinstall   rabbitmq-server-3.7.13-1.el7.noarch.rpm

(或者  # yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm)

3、启用RabbitMQ的web插件 ,方便后期管理界面:

#  rabbitmq-plugins enable rabbitmq_management

 

4、设置开机启动

# systemctl enable rabbitmq-server.service   #设置开机启动服务

# systemctl start rabbitmq-server            #启动服务

# systemctl status rabbitmq-server.service   #查看服务

# ll /var/lib/rabbitmq/.erlang.cookie

 

注:发现/var/lib/rabbitmq/.erlang.cookie的文件拥有者是root,而rabbitmq服务是以rabbitqm普通用户运行的, 这就无法往.erlang.cookie里写入数据,所以可能报错。

#  chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie  #修改文件拥有者

 

5、# netstat  -antup | grep 5672  #查看端口号

 

6、为RabbitMQ创建用户并赋权。

# rabbitmqctl add_user cdnfresh cdnfresh          #添加用户

# rabbitmqctl set_user_tags cdnfresh administrator #设置用户权限为administrator

# rabbitmqctl cluster_status  #查看集群状态

# rabbitmqctl list_users       #查看所有用户

 

在浏览器测试登录,发现可以登录ip+port 15672

 

7、配置rabbitmq集群

# 在第一个节点启动rabbitmq-server生成cookie文件

# rabbitmq-server -detached

 

# 设置所有节点同一认证Erlang Cookie,将第一个节点上的cookie文件拷贝到其他节点上,注意.erlang.cookie权限

# chmod 777 /var/lib/rabbitmq/.erlang.cookie

# scp -P38199 .erlang.cookie MQ02:/var/lib/rabbitmq/

# scp -P38199 .erlang.cookie MQ03:/var/lib/rabbitmq/

#  chmod 400 /var/lib/rabbitmq/.erlang.cookie (每个节点都要执行)

# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

# chown -R rabbitmq:rabbitmq /etc/rabbitmq

 

8、启动rabbitmq集群,将MQ02、MQ03加入MQ01

# rabbitmq-server -detached

# rabbitmqctl stop_app

# rabbitmqctl join_cluster rabbit@MQ01

# rabbitmqctl start_app

9、查看集群状态

# rabbitmqctl cluster_status

10、安装rabbitmq_delayed_message_exchange 插件

Rabbitmq官网下载即可

# rabbitmq-plugins list  查看插件

# unzip rabbitmq_delayed_message_exchange-20171201-3.7.x.zip

解压之后得到 rabbitmq_delayed_message_exchange-20171201-3.7.x.ez 文件

# mv rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.13/plugins/

# rabbitmq-plugins enable rabbitmq_delayed_message_exchange  安装完毕查看即可

Rabbit 集群部署的更多相关文章

  1. Linux运维--12.手动部署Rabbit集群

    1.安装rabbit组件 10.100.2.51 controller1 10.100.2.52 controller2 10.100.2.53 controller3 #每个节点 yum insta ...

  2. Linux运维---16. Kolla部署OpenStack外接rabbit集群

    # 前提时rabbit集群已经搭建完成 vim /etc/kolla/globals.yml enable_rabbitmq: "no" rpc_transport_url: &q ...

  3. RabbitMQ学习之集群部署

    我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集群前增加一个反向代理,生产者.消费者通过反向代理访问RabbitMQ集群. 架构图如下: 设计架构可以如下:在一个集 ...

  4. rabbitMQ集群部署以及集群之间同步

    MQ集群部署 期待的部署架构 其中,一个机房有两台机器部署MQ,并组成集群,有一个机房的MQ集群作为中心集群,其他机房的MQ集群将消息同步到中心MQ集群中. 安装erlang,略.. 安装rabbit ...

  5. RabbitMQ消息队列(十)-高可用集群部署实战

    前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. RabbitMQ集群基本概念 Rabbit模式大概分为以下三种 ...

  6. Centos6.9下RabbitMQ集群部署记录

    之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...

  7. k8s-rabbitmq-(一)集群部署

    K8S版本:1.10.1 rabbitmq版本:3.6.14 从来没用过这个软件,所以对里面很多术语看不太懂.最后通过https://www.kubernetes.org.cn/2629.html 大 ...

  8. 160328、rabbitMQ集群部署示例

    环境:Centos 6.5 x86_64MQ网址:http://www.rabbitmq.com/SERVER101\SERVER102 SERVER103 一.单节点安装 #yum install ...

  9. RabbitMQ(6) 集群部署

    单节点部署 rabbitmq单节点部署比较简单,可以使用apt-get等工具快速安装部署. wget -O- https://www.rabbitmq.com/rabbitmq-release-sig ...

随机推荐

  1. linux blast

    建库 减压后,改名为blast,并在blas目录在建立db文件1,建立数据库makeblastdb -in db.fasta -dbtype nucl(prot) -parse_seqids -has ...

  2. OpenBUGS抽样数据基本操作

    新建两个文件 第一个文件写操作程序,第二个文件写数据数量,类似于下图 鼠标聚焦在第一个文件中,点击工具栏的Model,选择Specification,然后点击check Moel,会有弹框出现 点击确 ...

  3. MariaDB主从复制,redis发布订阅,持久化,以及主从同步

      一. MariaDB主从复制 mysql基本操作 1 连接数据库 mysql -u root -p -h 127.0.0.1 mysql -u root -p -h 192.168.12.60 2 ...

  4. php代码审计——DVWA

    1.命令注入: LOW等级: 输入没有任何限制,可以直接ping: Medium等级: 介绍一下str_replace()函数和array_key()函数: Str_replace(str1,str2 ...

  5. redist命令操作(二)--哈希Hash,列表List

    1.Redis 哈希(Hash) 参考菜鸟教程:http://www.runoob.com/redis/redis-hashes.html Redis hash 是一个string类型的field和v ...

  6. JCache只缓存部分字段

    项目中使用的JCache缓存实体,发现每次缓存时存进去了实体,取出的时候字段有些是空的. 具体环境为 Springboot v2.01 JCache(ehcache 3.4.0) jdk 1.8.0_ ...

  7. python中对文件和文件夹的操作

    一.说明 python中主要通过os模块和shutil模块两个模块对文件进行相关操作,移动.复制.删除.重命名.比较大的文件通过命令操作可以节省时间,提高效率. 二.实例对文件夹中文件的拷贝 from ...

  8. 八大排序算法详解(动图演示 思路分析 实例代码java 复杂度分析 适用场景)

    一.分类 1.内部排序和外部排序 内部排序:待排序记录存放在计算机随机存储器中(说简单点,就是内存)进行的排序过程. 外部排序:待排序记录的数量很大,以致于内存不能一次容纳全部记录,所以在排序过程中需 ...

  9. Oracle根据时间恢复已删除提交的数据

    Oracle 根据数据库的时间戳恢复已删除提交的数据 1.选择一个时间点查看表中数据是否是自己想要的数据 Select * from 表名 as of timestamp to_timestamp(‘ ...

  10. css修改原生radio样式

    日常工作中经常会用到单选框radio,而原生样式不好看无法满足项目要求,模拟写一个又比较麻烦,所以写了一个改变原生样式的demo. 原生样式: 改变后的样式: 以下为demo代码: <!DOCT ...