热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos7安装rabbitmq(转载)

原文地址:http:blog.csdn.netwenyu826articledetails71108279安装Erlang从链接https:packages.erlang-solu

原文地址: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端口通讯。


推荐阅读
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • 分布式消息系统之Kafka集群部署
    kafka是基于发布订阅模式的一个分布式消息队列系统,用java语言研发,是ASF旗下的一个开源项目;类似的消息队列服务还有rabbitmq、activemq、zeromq;kaf ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • CentOS7 安装RabbitMQ
    1安装编译工具yuminstall-ymakegccgcc-c++m4opensslopenssl-develncurses-develunixODBCunixODBC-devel ... [详细]
  • 这里我们采用两台Nginx服务器作为前端,一主一从,Keepalived实现状态监测,保证Nginx正常对外提供服务,即主Nginx服务进程死掉之后,keepalived能够通过其自身的检测机制 ... [详细]
  • centos7+cdh5.10.0搭建
    一、选择环境:1.说明本次部署使用台机器,3台用于搭建CDH集群,1台为内部源。内部源机器是可以连接公网的,可以提前部署好内部源,本次部署涉及到的服务器的hosts配置如下:192.168 ... [详细]
  • Centos7下Mysql5.7的安装
    1:卸载自带的mysqlrpm-qa|grepmariadb卸载自带数据库:rpm-e--nodeps1、安装YUMRepo ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
  • 之前有一篇文章介绍过在ubuntu下安装selenium和firefox现在介绍下centos7注意以下都是下载的linux64位的软件,32位的请自己找下链接,现在使用的python的版 ... [详细]
  • centos7.2下编译安装php7.1.3步骤教程centos7编译安装php-7.1.3的步骤在官网下载php-7.1.3的php压缩包,centos7安装php-7.1.3的 ... [详细]
author-avatar
岁月无言0106
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有