原文地址:http://blog.csdn.net/wenyu826/article/details/71108279

安装Erlang

从链接https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_19.3-1~centos~7_amd64.rpm下载centos7的rpm包(19.3) 
首先需要安装erlang包的依赖项:

yum install epel-release
yum install unixODBC unixODBC-devel wxBase wxGTK SDL wxGTK-gl

安装erlang:

rpm -ivh esl-erlang_19.3-1~centos~7_amd64.rpm

测试安装是否成功:

[root@albert software]# erl
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

安装Rabbitmq

从链接http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.el7.noarch.rpm下载rabbitmq(3.6.9)的rpm包。 
使用yum安装rabbitmq

yum install rabbitmq-server-3.6.9-1.el7.noarch.rpm

此时会提示依赖包erlang >= R16B-03,然后继续会提示需要下载依赖包。 
下载完成之后,当在安装的时候有部分依赖包是会安装失败的。安装失败的基本都是erlang的,因为我们前面已经安装了erlang19.3 但是可能依赖的版本不一致的原因吧,这个时候可以查看我们已经安装的 erlang

rpm -qa | grep erlang

会显示esl-erlang-xxxxx , 此时卸载掉我们刚刚安装的erlang

rpm -e esl-erlang

然后重新执行

yum install rabbitmq-server-3.6.9-1.el7.noarch.rpm

此次执行之后会安装相关的erlang依赖,版本好像是R16B-03.(此处不确定先不安装erlang19.3而直接安装rabbitmq-server会不会也可以成功,好像曾经尝试过但是rabbitmq-server安装的时候会报错)。 
查看安装的rabbitmq和erlang

whereis rabbitmq
whereis erlang

进入rabbitmq/bin目录

rabbitmq-plugins enable rabbitmq_management

开启管理功能。 
启动rabbitmq服务

rabbitmq-server -detached

添加用户并设置权限:

rabbitmqctl add_user albert albert
rabbitmqctl set_user_tags albert administrator

集群部署

现有两台机器ip以及hostname分别为 
192.168.232.130 计算机名为cecily 
192.168.232.129 计算机名为albert 
在两台机器cecily和albert的/etc/hosts 末尾都加上 
192.168.232.130 cecily 
192.168.232.129 albert 
然后查看添加的结果:

[root@albert /]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.232.129 albert
192.168.232.130 cecily

查找.erlang.cookie文件的位置

find -name .erlang.cookie

两台机器的.erlang.cookie要一直,这是erlang通讯所需要用到的。 
假设从统一使用albert机器的.erlang.cookie 
则将albert的.erlang.cookie文件复制到cecily机器的对应路径 
一般为/root/.erlang.cookie 和 /var/lib/rabbitmq/.erlang.cookie

此时查询机器的服务状态

rabbitmqctl cluster_status

如果异常的话建议重新启动解决。 
将cecily机器添加到albert中,先将两个机器的防火墙关闭

systemctl stop firewalld.service

在cecily机器执行

rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@albert
rabbitmqctl start_app

这样就将cecily的rabbitmq添加到了albert的集群中。

Haproxy负载均衡

安装haproxy

yum install haproxy

修改haproxy配置 /etc/haproxy/haproxy.cfg 
添加如下内容:

#把rabbitmq节点的管理界面也放到haproxy
listen rabbitmq_admin
bind 0.0.0.0:8600
server albert 192.168.232.129:15672
server cecily 192.168.232.130:15672
###################### ##raiibitmq集群负载均衡配置
listen rabbitmq_cluster
bind 0.0.0.0:8660
option tcplog
mode tcp
timeout client 3m
timeout server 3m
balance roundrobin
server albert 192.168.232.129:5672 check inter 5s rise 2 fall 3
server cecily 192.168.232.130:5672 check inter 5s rise 2 fall 3
######

重新启动haproxy

systemctl restart haproxy.service

上述操作成功之后,就可以访问haproxy机器的8600端口进入rabbitmq集群管理界面,8660端口通讯。

Centos7 安装rabbitmq(转载)的更多相关文章

  1. Centos7安装RabbitMQ解决Erlang依赖报错

    通过yum等软件仓库都可以直接安装RabbitMQ,但版本一般都较为保守. RabbitMQ官网提供了新版的rpm包(http://www.rabbitmq.com/download.html),但是 ...

  2. centos7安装rabbitmq 总结

    centos7下安装rabbitmq 折腾了三天最后做了以下总结 先查看一电脑名  :示例 #hostname name 查看一下hosts配置文件:如果如下结果,就要修改下 #cat /etc/ho ...

  3. centos7 安装 rabbitmq

    主题 因为自己学习项目可能会用到rabbitmq..我又是第一次学习.以前没安装过.所以简单记录下我在centos7环境下安装rabbitmq的过程步骤,下次可以参考. 步骤 1.杂七杂八的东西 安装 ...

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

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

  5. Centos7安装RabbitMQ详细教程

    MQ引言 什么是MQ MQ:message Queue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息.因为消息的生产和消费都是一部的,而且只关心消息的 ...

  6. Centos7 安装RabbitMQ 3.6.1

    如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Centos7,为了保证对linux不太熟悉的伙伴也能轻松上手(避免折在安装的路上),下面是 ...

  7. CentOS7 安装RabbitMQ

    第一.下载erlang和rabbitmq-server的rpm: http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos. ...

  8. CentOS7安装RabbitMQ集群

    实验环境 RabbitMQ 集群 server1.example.com    IP: 10.10.10.11    Node: diskserver2.example.com    IP: 10.1 ...

  9. 【Linux】CentOS7 安装rabbitmq

    [1.安装erlang环境]yum install http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64. ...

随机推荐

  1. Ubuntu—截屏与截取选定区域

    截屏:PrScrn(打印键) 截取选定区域:shift + PrScrn(打印键) # 截取选定区域时,先按下组合键后,鼠标的形状就会变成十字架形状,这时候再截取想要截取的区域就可以了-

  2. [leetcode-753-Open the Lock]

    You have a lock in front of you with 4 circular wheels. Each wheel has 10 slots: '0', '1', '2', '3', ...

  3. JS中Text节点总结

    文本节点有Text类型表示,包含的是可以找字面解释的纯文本内容.纯文本中可以包含转移后的HTML字符,但不能包含HTML代码.Text节点具有以下属性: 1.nodeType的值为3. 2.nodeN ...

  4. Python练习—文件

    1.随机生成20个两位正整数,将其升序排序后再写入文本文件data_asc.txt中! import random alist = [random.randint(10,100) for i in r ...

  5. 小茜(xi)的减肥之路

    Description 今天,多年未见的小钧和小江在街头偶遇,小江想看看当年那个蠢蠢的小钧有没有变聪明一些,他灵机一动,说:“当初小茜立了个flag,说一定要减肥,她想着第一天跑一米,第二天跑两米,第 ...

  6. JSR303中的来验证数据信息

    spring mvc之实现简单的用户管理三 博客分类: spring spring mvc spring mvc dispatcherServlet springspring mvcbean vali ...

  7. python执行linux命令的两种方法

    python执行linux命令有两种方法: 在此以Linux常用的ls命令为例: 方法一:使用os模块 1 2 3 shell# python >> import os >> ...

  8. Coursera:Internet History ,Techornology and Security

    WEEK1 War Time Computing and Communication Bletchley Park 布莱彻利庄园:a top-secret code breaking effort b ...

  9. PMS

    "通讯录--PMS"功能介绍及界面展示 首先是我们的登陆界面,以绿色为基调,配以繁星组成的星阵图,寓意为"散是满天星",希望每一位同学能在各自的生活中闪耀. 当 ...

  10. 简述在akka中发送消息的过程

    在flink的数据传输过程中,有两类数据,一类数据是控制流数据,比如提交作业,比如连接jm,另一类数据是业务数据.flink对此采用了不同的传输机制,控制流数据的传输采用akka进行,业务类数据传输在 ...