最新的 RabbitMQ 与erlang 安装 过程中遇到的一些坑

经过了好几个小时的折腾,终于装好了。。。。

前言(story):

       先简单的介绍一下,这个过程是怎样的(因为对erlang 和 mq都不熟,对rpm  yum 和 make 安装方式????有些遗忘),刚开始,在网上找了各种资料,介绍erlang的rmp 安装方式和源码安装方式,两种方式都尝试了,刚开始找的rpm安装方式,那个网速慢的啊。。。吐血的心都有了,后来找了个源码的安装,不知道erlang 和mq 的版本对应关系,找了个博客,按照里面的做法,在博客上有erlang的下载地址,下了个erlang 19 的一个版本(刚开始不知道这个版本是什么版本,也没注意是不是最新的),通过一番折腾,erlang 19 装好了。。。

       接下啦,在官网 http://www.rabbitmq.com/download.html 下载了最新的rabbitmq 3.7.13 rpm 包,满心欢喜的想着rpm -ivh 安装一下就完事了,可谁知道,故事才刚刚开始。。。

       安装的时候,提示erlang版本需要 >  20.3.x , 咦?这是什么鬼,百度一下,发现我的版本低了,接下来强迫症来了。。。我要升级erlang。。。怎么升级呢?? 不知道,继续百度。。。

      半个小时,一个小时过去了,两个小时。。。没找到合适的办法,百度了各种关键词,仍然没有找到成功的办法,妈的,老子就想要升级,我采用的源码编译安装的,就是找不到这种安装方式的升级方式,强迫症所逼(想过重新下mq 3.6 或 3.5的低版本),就是想升级。。。

       因其他事耽误,半天过去了,仍无果。。。接着回来搞升级的事,接着回来搞的时候,想着升级不成,老子卸载重新装行不行呢,这时候发现,之前学的linux忘的一干二净了,卸载??怎么卸载??百度。。。因关键词为linux 卸载  ,关键词明显不对,搜出来的东西总是南辕北辙,不是我想要的。。这个也搞不定。。。我这几年在干啥了,我的技术能力都去哪儿了,突然发现自己连刚毕业的学生都不如了,纠结了半天之后,突然,鬼使神差的让我搜了个 linux make uninstall ,靠。。。。貌似想起了什么,赶紧把make 命令详解搜一遍,果然,之前学的东西好像都回来了,知道怎么回事了。。 好,卸载的问题可以解决了,然后各种百度,找erlang 的最新版本,从官网上下了个 erlang 21.X的版本,按照上面19 的版本继续 ./configure 。。。第一步就报错了,错误的意思是大致是该用户不能使用java 环境,什么鬼,javac一下,可以啊。。。找找,把 ./configure 后的 --without-javac 去掉 ,好了,下面还有两个infomation,百度一下,可以先不管他。。那就不管他吧 。。make 一下,完了,一堆错

make: Warning: File `/data/software/otp_src_21.3/make/otp_default_release_path.mk' has modification time 2077259 s in the future
 MAKE   depend
make[1]: Entering directory `/data/software/otp_src_21.3/erts/emulator'
make[1]: Warning: File `/data/software/otp_src_21.3/make/target.mk' has modification time 2077259 s in the future
 MAKE   generate
make[2]: Entering directory `/data/software/otp_src_21.3/erts/emulator'
make[2]: Warning: File `/data/software/otp_src_21.3/make/otp_default_release_path.mk' has modification time 2077259 s in the future
 GEN    x86_64-unknown-linux-gnu/gen_git_version.mk

Makefile.in has been updated, please re-run configure!

make[2]: *** [x86_64-unknown-linux-gnu/Makefile] Error 1
make[2]: Leaving directory `/data/software/otp_src_21.3/erts/emulator'
make[1]: *** [generate] Error 2
make[1]: Leaving directory `/data/software/otp_src_21.3/erts/emulator'
make: *** [depend] Error 2

      有哪个大神知道原因的,可以给留个言讲讲,反正,到最后我mq 起起来了,也不知道这个怎么解决。。。就因这个问题,又是各种百度(为什么不用google ,应为没有找到mac 合适的翻墙软件,蓝灯要付费,坚果超时,google不了,再者,英文水平有限),各种尝试,在19 的版本里面可以执行,在21的版本里面不行。。。醉了。。。

     该怎么办呢,已经耗费一天了,想想如果要是在公司搞这个搞一天,要不被老板知道了,哪个老板能忍,早就一脚把我给踹了,因而不能再钻牛角尖了,换个方式,从头来过,重新搜索rabbitmq 最新的安装方式,搜了几篇文章,偶发一篇文章上写了官网document 的地址。。。我突然感觉我游走的灵魂回来了,神灵附体,我这么多年的工作经验,之前干什么都是去官网找答案的,现在却在这儿瞎百度。。。。

经过一番搜索

https://github.com/rabbitmq/erlang-rpm // 这个网页上写的很清楚,安装rabbitmq 之前的erlang的安装方式

https://github.com/rabbitmq/rabbitmq-server/releases // 想要什么版本,已经最低的erlang版本要求

http://www.rabbitmq.com/which-erlang.html // 对应的版本关系

       好吧,我承认我不在状态,想学的太多,一口吃不了一个大胖子。。太过着急要干其他事,物极必反。。。耗费了一天半的时间,无果。。。最后十几分钟全部搞定了。。。

       废话了这么多,接下来看看怎么解决的吧。。。

正文(solution):

        在这个github 上写的很清楚  :https://github.com/rabbitmq/erlang-rpm

  第一种方式:

 

最新的 RabbitMQ 与erlang 安装 过程中遇到的一些坑

第二种方式:

最新的 RabbitMQ 与erlang 安装 过程中遇到的一些坑

第一种方式,我尝试了一下,因  $basearch 的问题会报错,这个需要改配置。。。我改用第二种方式了。。。

sudo vi /etc/yum.repos.d/rabbitmq_erlang.repo

## 在文件中
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

## 保存
## 执行以下命令

yum clean all
yum makecache

## 以上两个可以跳过

sudo yum install erlang
# 安装完成后
sudo  rpm -ivh rabbitmq-server-3.7.13-1.el7.noarch.rpm 

#启动 rabbitmq
sudo rabbitmq-server -detached





如果遇到以下错误

最新的 RabbitMQ 与erlang 安装 过程中遇到的一些坑

执行sudo yum install socat  ,再执行rpm 命令就行了