【1、安装erlang环境】
yum install http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

【2、安装rabbitmq】
yum install http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm

【3、rabbitmq命令】
/usr/lib/rabbitmq/bin/rabbitmq-server -detached 【启动】
/usr/lib/rabbitmq/bin/rabbitmqctl status 【查看状态】
/usr/lib/rabbitmq/bin/rabbitmqctl stop 【关闭】
/usr/lib/rabbitmq/bin/rabbitmqctl list_users 【列出角色】

【4、配置防火墙】
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service

【5、默认账号登录】
guest/guest 登录localhost:15672

【6、集群配置,普通模式,高吞吐量】
【6.1 erlang cookie配置】
cat /var/log/rabbitmq/rabbit@dev26.log 【查看rabbitmq日志确认erlang cookie位置的位置】
sudo scp /root/.erlang.cookie root@192.168.1.33:/root/.erlang.cookie 【复制erlang cookie】
cat /root/.erlang.cookie 【查看erlang cookie内容是否一致】
chmod 400 /root/.erlang.cookie 【统一设置erlang cookie权限】

【6.2 host配置】
192.168.1.32 redis
192.168.1.33 jenkins
192.168.1.35 dev26
192.168.1.32 rabbitdisk
192.168.1.33 rabbitram1
192.168.1.35 rabbitram2

【6.3 加入集群】
/usr/lib/rabbitmq/bin/rabbitmqctl stop_app
/usr/lib/rabbitmq/bin/rabbitmqctl join_cluster --ram rabbit@redis 【--ram 内存节点;rabbit为默认节点;节点名@主机名】
/usr/lib/rabbitmq/bin/rabbitmqctl start_app
/usr/lib/rabbitmq/bin/rabbitmqctl cluster_status 【查看集群状态】
【6.4 退出集群】
/usr/lib/rabbitmq/bin/rabbitmqctl stop_app
/usr/lib/rabbitmq/bin/rabbitmqctl reset
/usr/lib/rabbitmq/bin/rabbitmqctl start_app

【6.5 开启管理页面,开启几个节点在监控页面就可以看见几个节点】
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management 【开启管理页面】
/usr/lib/rabbitmq/bin/rabbitmqctl add_user root root 【新建用户 root[用户名] root[密码]】
/usr/lib/rabbitmq/bin/rabbitmqctl set_user_tags root administrator 【给新建的用户赋予超级管理员角色 root[用户名] administrator[角色名]】
/usr/lib/rabbitmq/bin/rabbitmqctl set_permissions -p / root '.*' '.*' '.*' 【给新建的用户root,赋予vhost[/]的所有权限】
192.168.1.32:15672/#/ 【输入刚刚设置的用户名和密码,查看集群各个节点的状态】

【7、集群配置,镜像模式,高可用性】

  • 【"^"通配符,根据队列名匹配】【"^"匹配所有队列】【"^message"匹配所有以message开头的队列】
  • 【all模式,复制到所有节点】
  • /usr/lib/rabbitmq/bin/rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
  • 【exactly模式,最多复制到集群中的任意两个节点,数量为ha-param配置的数字】
  • /usr/lib/rabbitmq/bin/rabbitmqctl set_policy ha-all "^" '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'
  • 【nodes模式,复制到集群中的指定节点】
  • /usr/lib/rabbitmq/bin/rabbitmqctl set_policy ha-all "^" '{"ha-mode":"nodes","ha-params":["rabbit@jenkins","rabbit@dev26"]}'

【8、Haproxy安装也配置,负载均衡】

  • yum install haproxy 【yum安装】
  • vi /etc/haproxy/haproxy.cfg 【修改配置】
  • /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg 【启动haproxy】
  • 192.168.1.36:1080/stats 【查看haproxy监控】
  • Haproxy详细说明,请看这篇文章。http://www.cnblogs.com/wangzhongqiu/p/8668835.html

参考:

http://www.nongziyi.xin/?p=227

https://www.linuxidc.com/Linux/2017-10/147708.htm?hmsr=toutiao.io

https://blog.csdn.net/woogeyu/article/details/51119101

【Linux】CentOS7 安装rabbitmq的更多相关文章

  1. Linux(centos7)安装RabbitMQ

    由于RabbitMQ是由Erlang语言开发的,所以我们需要体检安装erlang语言的环境 下载这三个安装包:https://www.aliyundrive.com/s/4AxfTepHjMD 执行安 ...

  2. Linux CentOS7 安装 Qt 5.9.2

    Linux CentOS7 安装 Qt 5.9.2 参考链接 http://doc.qt.io/qt-5/linux.html sudo yum groupinstall "C Develo ...

  3. LINUX CentOS7安装字体库

    LINUX CentOS7安装字体库 2017年12月26日 17:06:07 q260996583 阅读数:4866更多 个人分类: linux   JAVA画图时常用到Font 类对象 这样的对象 ...

  4. Linux centos7安装Mongodb

    Linux centos7安装Mongodb-4.0 1.下载 官方下载地址:https://www.mongodb.com/download-center/community 2.上传解压 1)rz ...

  5. linux(centos7) 安装nginx

    linux(centos7) 安装nginx 1.14(stable) 版本 Nginx配置文件常见结构的从外到内依次是「http」「server」「location」等等,缺省的继承关系是从外到内, ...

  6. linux centos7 安装常用软件java,node,mysql,Seafile

    linux centos7 安装常用软件java,node,mysql,Seafile 安装压缩解压缩软件 yum install -y unzip zip 安装git yum install -y ...

  7. Linux(CentOS7)下RabbitMQ下载安装教程

    原文链接:http://www.studyshare.cn/software/details/1172/0 一.下载安装步骤 下载erlang 1.wget 下载地址 2.rpm -Uvh erlan ...

  8. linux上安装rabbitMQ

    本次环境搭建centos7及Erlang环境otp_src_19.3.tar.gz 和rabbitmq-server-generic-unix-3.6.14.tar.zx RabbitMQ是流行的开源 ...

  9. CentOS7安装rabbitmq集群(二进制)

    一.RabbiMQ简介 RabbiMQ是用Erang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡. RabbiMQ模式 RabbitMQ模式大概分为以下三种: ...

随机推荐

  1. shell脚本学习- 传递参数

    跟着RUNOOB网站的教程学习的笔记 我们可以在执行shell脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n代表一个数字,1为执行脚本的第一参数,2为执行脚本的第二个参数,以此类推... 实 ...

  2. php判断语句

    编写代码时,可以为不同的情况执行不同的动作.可以使用判断条件语句来实现. if...else...elseif 例子一: <?php $t=date("H"); if ($t ...

  3. Makefile基础学习

    Makefile基础学习 理论知识 makefile关系到了整个工程的编译规则.一个工程中的源文件不计其数,并且按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文 ...

  4. Django用openLDAP做认证

    前言 之前有需求要做一个django+ldap用户管理的简单接口,研究了好几个模块,最后终于能实现django用ldap做用户认证了.也是自己的水平有限吧,做了好长时间,现在就和大家分享一下这个过程吧 ...

  5. 24.HashSet

    在前篇博文(HashMap)中详细讲解了HashMap的实现过程,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素.所以如果对HashMap比较熟悉,那么Has ...

  6. ie8兼容视频播放的探索(探索过程稍微有点长,时间紧迫和耐心稍微差一点点的小伙伴直接往下拉)

    需求: 前几天接到一个需求,需要在网页中嵌入视频,并且要兼容ie8:然后我就开始了如下的探索...... 探索过程: 我先思考有什么方法可以在网页中嵌入视频,然后找到2种常用的方法——video标签和 ...

  7. MySql数据保障

    1, 安装文档 配置文件,目录,参数,用户,权限,程序,安装方式 2, 数据备份 强大的备份策略,

  8. 一个简单的C语言题背后的故事

    最近看到了一个C语言问题,是要计算出这个函数的输出: #include <stdio.h> int Test(int x,int y, int z){ printf("x,y,z ...

  9. linux中变量的一些操作方法

    常见的一般有如下操作,可以对字符串进行简单操作: echo ${#var}打印变量var长度 echo "$var:3:8" 打印变量var第4个字符开始的8个字符echo ${v ...

  10. C# Winform同时启动多个窗体类

    首先创建一个类,存放将要同时显示的窗体 using System; using System.Collections.Generic; using System.Linq; using System. ...