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. ...
随机推荐
- Java进阶知识点: 枚举值
Java进阶知识点1:白捡的扩展性 - 枚举值也是对象 一.背景 枚举经常被大家用来储存一组有限个数的候选常量.比如下面定义了一组常见数据库类型: public enum DatabaseType ...
- java length属性、length()、size()
length属性 length是属性,用于说明数组的长度. String []list={"wo","shi","shuaibi"}; Sy ...
- CSS动画@-webkit-keyframes
@-webkit-keyframes:以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%.0% 是动画的开始时 ...
- mysql 启动报错
之前用我这个机器做mysql的测试来,今天启动准备搭建一套线上的主从,结果起不来了... 错误日志: ;InnoDB: End of page dump 170807 11:37:02 InnoDB: ...
- Python-期末练习
1.骑车与走路:我们的校园很大很大很大大大大大……,骑个自行车去办事会很快,比如取个快递了,到其他宿舍楼找个同(nv)学(you)了.但实际上,并非去办任何事情都是骑车快,因为骑车总要找车.开锁.停车 ...
- Java微笔记(3)
Java 中的 static 使用之静态变量 Java 中被 static 修饰的成员称为静态成员或类成员. 它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享. 静态成员可以使用类名直接访 ...
- OSG学习:响应键盘鼠标示例
示例功能:示例里面有两个模型,一个是牛,另一个是飞机.鼠标右键时牛和飞机都隐藏,鼠标左键双击时牛和飞机都显示,按键盘上面的LEFT键,显示牛,按键盘上面的RIGHT键显示飞机.其中显示与隐藏节点使用的 ...
- HTML页面垂直滚动条不见
<body style="overflow-y:scroll;"> </body>
- 修改IntelliJ IDEA代码头注释
- java 基本--数据类型转换--001
小可转大,大转小可能会损失精度(编译出错,需要强制转换)A: byte,short,char -> int -> long -> float ->doubleB: byte,s ...