在Centos6上安装RabbitMQ的过程(有点坑)
1.安装依赖环境
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
2.安装Erlang
- 将erlang-18.3-1.el7.centos.x86_64.rpm socat-1.7.3.2-5.el7.lux.x86_64.rpm rabbitmq-server-3.6.5-1.noarch.rpm
链接:https://pan.baidu.com/s/1mnSpNKViarJHaa4hgX_IPA
提取码:u8oi
这三个文件上传到centos系统中
1 # 安装
2 rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
这个时候我的centos报出了如下错误:

这是由于当前系统的gblic版本太低,需要进行升级,可以通过命令查看:
strings /lib64/libc.so.6 | grep GLIBC
- 使用yum更新安装依赖
sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y
- 下载rpm包
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-utils-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-static-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm & wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/nscd-2.17-55.el6.x86_64.rpm &
- 安装rpm包
sudo rpm -Uvh *-2.17-55.el6.x86_64.rpm --force --nodeps
安装完毕后再查看glibc版本,检查是否是2.17
3.安装RabbitMQ
# 安装
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm # 安装
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
但是我在安装时又出了错误,错误如下:

搜索百度后发现可能是因为各个软件之间的版本有冲突这个时候,在安装以上两个包的时候
在命令的末尾加上 --force --nodeps 后就会顺利安装。
4.开启管理界面及配置
# 开启管理界面
rabbitmq-plugins enable rabbitmq_management
# 修改默认配置信息
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
# 比如修改密码、配置等等,例如:loopback_users 中的 <<"guest">>,只保留guest
5.启动
service rabbitmq-server start # 启动服务
service rabbitmq-server stop # 停止服务
service rabbitmq-server restart # 重启服务
- 设置配置文件
cd /usr/share/doc/rabbitmq-server-3.6.5/ cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
我是设置完配置文件后才启动的服务。
这个时候我启动失败了,出现了如下的错误提示:
Job for rabbitmq-server.service failed because the control process exited with error code. See “systemctl status rabbitmq-server
.service” and “journalctl -xe” for details.
参考了如下博客解决的:
https://blog.csdn.net/qq_41950229/article/details/105957872
通过查看具体的信息后报如下错误:

解决办法:
先将关掉SELINUX: 输入命令:vi /etc/selinux/config
修改其中的SETLINUX=disabled
vim /etc/rabbitmq/rabbitmq-env.conf
在文件里面添加一行代码:NODENAME=rabbit@localhost,保存。
(注意:rabbitmq-env.conf这个文件没有,打开之后自动创建)
最后重新启动rabbitmq-server
6.搭建集群又遇到了一些问题
在启动第一个节点的时候
[root@192 sbin]# RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=rabbit1 rabbitmq-server start
ERROR: epmd error for host 192: badarg (unknown POSIX error)
通过百度查询得知是因为自己的hostname中带有数字,然后需要修改自己的主机名,参考如下博客完成修改。
https://www.cnblogs.com/zhangmingcheng/p/6050982.html
完成修改后重启虚拟机并重启启动节点显示如下:
[root@super ~]# RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=rabbit1 rabbitmq-server start
RabbitMQ 3.6.5. Copyright (C) 2007-2016 Pivotal Software, Inc.
## ## Licensed under the MPL. See http://www.rabbitmq.com/
## ##
########## Logs: /var/log/rabbitmq/rabbit1.log
###### ## /var/log/rabbitmq/rabbit1-sasl.log
##########
Starting broker...
completed with 9 plugins.
这样便启动成功了第一个节点。
但是我添加集群的从节点的时候又出现了新的问题

在网上翻了大量的资料以及博客后,从图片看出应该从三个方面排查,于是我根据博客来进行排除,同时我也换成了centos7,来排除版本的因素。
用centos7上来就换成了静态的hostname,于是添加就成功了,减少了许多工作量。借鉴博客如下 :
在Centos6上安装RabbitMQ的过程(有点坑)的更多相关文章
- 在Centos上安装RabbitMQ流程(转)
在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...
- Centos6.9 安装zabbix3.4 过程
Centos6.9 安装zabbix3.4 过程 1.安装apache httpd 一开始忘记截图(略...) # yun install httpd 完成后,启动httpd服务 # service ...
- [转]在Windows上安装RabbitMQ
原文链接 翻译:xiezc 下载服务器 描述 下载 Windows系统安装程序(来自Bintray) 的RabbitMQ的服务器-3.7.4.exe (签名) Windows系统安装程序(来 ...
- 在 CentOS6 上安装 GraphicsMagick-1.3.30
在 CentOS6 上安装 GraphicsMagick-1.3.30 1.简介: 1.1.在介绍 GraphicsMagick 前我们不得不先介绍下 ImageMagick: ImageMagick ...
- CentOS 6.5上安装GlassFish4.0 过程笔记
CentOS 6.5上安装GlassFish4.0 过程笔记 1.安装JDK, 注意操作系统的位数, 64 or 32: [root@linuxidc ~]# mkdir /usr/java [ro ...
- 在mac上安装rabbitmq
在 OS X 上安装 RabbitMQ¶ 在 Snow Leopard 上安装 RabbitMQ 最简单的方式就是 Homebrew ——OS X 上的一款新颖别致,光彩动人的包管理系统. 在本例中, ...
- 在CentOS7上安装RabbitMQ
安装过程参考官网: Installing on RPM-based Linux (RHEL, CentOS, Fedora, openSUSE) 首先需要安装erlang,参考:http://fedo ...
- CentOS上安装RabbitMQ
所需环境 操作系统:Centos服务一台 网络环境:可以访问公网 安装Erlang RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby ...
- JDK 在 Linux 上安装的详细过程
1.下载JDK Linux上一般会安装Open JDK,如果有系统预装了OpenJDK的话需要先卸载掉OpenJDK, 卸载过程可以参考这里:https://www.cnblogs.com/sxdcg ...
随机推荐
- Android开发之viewpager导报错误解决方法:错误代码 Caused by: java.lang.ClassNotFoundException: Didn't find class
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Caused by: java.lang.ClassNotFoundException: Didn't ...
- ETC1
对纹理进行Alpha通道分离的好处 https://blog.csdn.net/u011926026/article/details/53982180 拆分贴图的Alpha通道 --对抗ETC1的原罪 ...
- 如何使用zabbix监控公网环境的云服务器(从小白到高级技术顾问!!!)
问题:当我们在本地部署了一台Zabbix服务器后,想要对云上的服务器做监控.但是zabbix一个在内网,云服务器一个在公网,网络环境不同该如何解决?能否检测到云服务器数据? 思路:使用NAT技术,将本 ...
- 平衡二叉搜索树/AVL二叉树 C实现
//AVTree.h #ifndef MY_AVLTREE_H #define MY_AVLTREE_H typedef int ElementType; struct TreeNode { Elem ...
- jinja2快速实现自定义的robotframework的测试报告
一.背景 RF的结果报告可以方便我们查看每一条用例集.用例的执行结果统计,但是有的项目涉及到一些数据的比对,希望能够直观到看到数据,原生的测试报告就无法满足这个需求了. 原生的报告 项目需求报告格式 ...
- Java面试题(1):详解int与Integer
Java面试题(1):详解int与Integer int与Integer的区别 int是Java的基本数据类型之一,Integer是int的包装类 int直接再内存中储存值,Integer进行new操 ...
- Zabbix如何监控Linux防火墙服务
今天在巡检的时候,突然想到Zabbix能否监控Linux的防火墙服务呢? 显然是可以的,但是Zabbix 5下默认的模板"Template OS Linux by Zabbix agent& ...
- C015:十进制转8进制
程序: #include "stdafx.h" #include <string.h> int _tmain(int argc, _TCHAR* argv[]) { i ...
- C:把算术表达式分成Token
代码: #include "stdafx.h" #include <stdio.h> #include <string.h> #include <st ...
- [Java数据结构]使用Stack检查表达式中左右括号是否匹配
Stack是一种先进后出的数据结构后,这个特点决定了它在递归向下的场景中有独到的功效. 以下程序展示了它在检查表达式中括号匹配的有效性: 程序: package com.heyang.util; im ...