Centos7 安装rabbitmq(转载)
原文地址: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(转载)的更多相关文章
- Centos7安装RabbitMQ解决Erlang依赖报错
通过yum等软件仓库都可以直接安装RabbitMQ,但版本一般都较为保守. RabbitMQ官网提供了新版的rpm包(http://www.rabbitmq.com/download.html),但是 ...
- centos7安装rabbitmq 总结
centos7下安装rabbitmq 折腾了三天最后做了以下总结 先查看一电脑名 :示例 #hostname name 查看一下hosts配置文件:如果如下结果,就要修改下 #cat /etc/ho ...
- centos7 安装 rabbitmq
主题 因为自己学习项目可能会用到rabbitmq..我又是第一次学习.以前没安装过.所以简单记录下我在centos7环境下安装rabbitmq的过程步骤,下次可以参考. 步骤 1.杂七杂八的东西 安装 ...
- CentOS7安装rabbitmq集群(二进制)
一.RabbiMQ简介 RabbiMQ是用Erang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡. RabbiMQ模式 RabbitMQ模式大概分为以下三种: ...
- Centos7安装RabbitMQ详细教程
MQ引言 什么是MQ MQ:message Queue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息.因为消息的生产和消费都是一部的,而且只关心消息的 ...
- Centos7 安装RabbitMQ 3.6.1
如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Centos7,为了保证对linux不太熟悉的伙伴也能轻松上手(避免折在安装的路上),下面是 ...
- CentOS7 安装RabbitMQ
第一.下载erlang和rabbitmq-server的rpm: http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos. ...
- CentOS7安装RabbitMQ集群
实验环境 RabbitMQ 集群 server1.example.com IP: 10.10.10.11 Node: diskserver2.example.com IP: 10.1 ...
- 【Linux】CentOS7 安装rabbitmq
[1.安装erlang环境]yum install http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64. ...
随机推荐
- 洛谷 P1706 全排列问题 :STL / dfs
题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列, ...
- C++ 学习笔记之——字符串和字符串流
1. 字符数组 字符数组,也就是存放字符类型数据的数组,只不过字符数组的结尾必须是 '\0'.C++ 已经提供了一些字符串处理函数,这些函数被封装在头文件 和 <string.h> 中. ...
- Python3 集合
1.集合的表示 集合是一个无序不重复的元素序列 创建空集合 set() 2.集合的运算 a={1,2,3} b={2,3,4} print(a-b) #a中包含b中不包含 print(a|b) #a中 ...
- Simple layout
body { padding: 0; margin: 0; overflow: hidden; } div { display: block; position: relative; } .c ...
- php常用方法汇总
xml格式转成array <?php $str='<xml><node><![CDATA[content]]></node></xml> ...
- Alpha发布-----欢迎来怼团队
欢迎来怼项目小组—Alpha发布展示 一.小组成员 队长:田继平 成员:葛美义,王伟东,姜珊,邵朔,冉华 ,李圆圆 二.文案+美工展示 链接:http://www.cnblogs.com/wwd199 ...
- LintCode-159.寻找旋转排序数组中的最小值
寻找旋转排序数组中的最小值 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2). 你需要找到其中最小的元素. 你可以假设数组中不存在重复的 ...
- <Effective C++>读书摘要--Ctors、Dtors and Assignment Operators<二>
<Item 9> Never call virtual functions during construction or destruction 1.you shouldn't call ...
- 【alpha】Scrum站立会议第2次....10.17
小组名称:nice! 小组成员:李权 于淼 杨柳 刘芳芳 项目内容:约跑app 1.任务进度 成员 已完成 今日完成 李权 数据库设计 消息发送代码实现 于淼 注册.登录界面,以及登录界面后台代码.发 ...
- [计算机网络] C++模拟telnet登陆SMTP服务发送邮件过程
在百度文库中的<使用telnet协议收发邮件>,我们可以很清楚地看到如何通过telnet来进行发送邮件,下面是一些需要用到的命令,通过以下命令可以很容易实现邮件发送功能.为了更好地理解其中 ...