积微成著 不积跬步,无以至千里

首页   >   web开发   >   linux环境下RabbitMQ源码包方式安装教程

linux环境下RabbitMQ源码包方式安装教程

最近项目中需要用到消息队列,之前使用过ActiveMQ,这次想用一下新的MQ,查阅了很多资料,最后在一堆MQ中选中了RabbitMQ。

简单介绍一下它的优点(具体性能数据还需要做实际测试):

1、erlang语言开发,天生具有高并发的特性;

2、语言无关性,支持各种编程语言;

3、支持持久化、事务、ack机制;

4、消息延迟率低,微秒级,仅次于kafka;

5、支持主从,高可用,可以非常方便的拓展集群;

6、消息丢失率很低,ack确认之前不会删除队列的消息;

7、Tps和Qps都相当可观,仅次于ZeroMQ;

8、新生物种,社区非常活跃;

今天主要是教大家如何在Linux上安装RabbitMQ,就不再多费口舌了,我说了这么多的优点,但不是最全面的,而且它并不是完美无缺的,也还是有不足的地方,附上一张大神做的各大MQ分析图:

linux环境下RabbitMQ安装图文教程

大神毕竟大神,总结的比我好多了,大家可以保存起来慢慢看~

好了,扯远了,下面正式开始安装RabbitMQ了

刚才提到了它的有一个优点就是高并发,因为他是基于erlang语言开发,所以需要先安装erlang环境

本来还准备基于以往一贯的风格使用二进制包(linux环境下ErLang二进制方式安装教程)来安装的,但是发现需要的依赖实在是太多了,所以直接使用yum来搞定它

[root@iZbp16sksdu04rk7tj72xdZ local]# yum install -y erlang

给大家来一张图,感受一下我一开始的绝望

linux环境下RabbitMQ安装图文教程

诶,不多说了,都是辛酸泪啊o(╥﹏╥)o

输入检查版本的命令,查看是否安装成功

[root@iZbp16sksdu04rk7tj72xdZ local]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

下载一个rabbitmq的rpm源码包

[root@iZbp16sksdu04rk7tj72xdZ local]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

执行rpm安装

[root@iZbp16sksdu04rk7tj72xdZ rabbitmq]# rpm -ivh --prefix=/usr/local/rabbitmq rabbitmq-server-3.6.10-1.el7.noarch.rpm
警告:rabbitmq-server-3.6.10-1.el7.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 6026dfca: NOKEY
错误:软件包 rabbitmq-server 不能重定位

本来想安装到我指定的目录/usr/local下面,费了九牛二虎之力,资料查了一堆,发现一直都不行,遂放弃,不强求它指定目录安装了,只求安装成功,能用

[root@iZbp16sksdu04rk7tj72xdZ local]# rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
警告:rabbitmq-server-3.6.10-1.el7.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 6026dfca: NOKEY
错误:依赖检测失败:
	socat 被 rabbitmq-server-3.6.10-1.el7.noarch 需要

so easy,直接install一个socat

查了一下关于socat的资料,大概了解一下它是干嘛的,socat是一个多功能的网络工具,名字来由是“Socket CAT”,可以看作是netcat的N倍加强版

[root@iZbp16sksdu04rk7tj72xdZ local]# yum install -y sccat

后来查阅资料,发现还有一种更简单的方式

[root@iZbp16sksdu04rk7tj72xdZ rabbitmq]# yum install -y rabbitmq-server-3.6.10-1.el7.noarch.rpm
已加载插件:fastestmirror
正在检查 rabbitmq-server-3.6.10-1.el7.noarch.rpm: rabbitmq-server-3.6.10-1.el7.noarch
rabbitmq-server-3.6.10-1.el7.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 rabbitmq-server.noarch.0.3.6.10-1.el7 将被 安装
--> 正在处理依赖关系 socat,它被软件包 rabbitmq-server-3.6.10-1.el7.noarch 需要
Loading mirror speeds from cached hostfile
--> 正在检查事务
---> 软件包 socat.x86_64.0.1.7.3.2-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=============================================================================================================================================================================
 Package                                架构                          版本                                 源                                                           大小
=============================================================================================================================================================================
正在安装:
 rabbitmq-server                        noarch                        3.6.10-1.el7                         /rabbitmq-server-3.6.10-1.el7.noarch                        5.3 M
为依赖而安装:
 socat                                  x86_64                        1.7.3.2-2.el7                        base                                                        290 k

事务概要
=============================================================================================================================================================================
安装  1 软件包 (+1 依赖软件包)

总计:5.6 M
总下载量:290 k
安装大小:6.4 M
Downloading packages:
socat-1.7.3.2-2.el7.x86_64.rpm                                                                                                                        | 290 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : socat-1.7.3.2-2.el7.x86_64                                                                                                                               1/2
  正在安装    : rabbitmq-server-3.6.10-1.el7.noarch                                                                                                                      2/2
  验证中      : socat-1.7.3.2-2.el7.x86_64                                                                                                                               1/2
  验证中      : rabbitmq-server-3.6.10-1.el7.noarch                                                                                                                      2/2

已安装:
  rabbitmq-server.noarch 0:3.6.10-1.el7

作为依赖被安装:
  socat.x86_64 0:1.7.3.2-2.el7

完毕!

验证一下是否安装成功,启动rabbitmq

[root@iZbp16sksdu04rk7tj72xdZ local]# rabbitmq-server start

              RabbitMQ 3.6.10. Copyright (C) 2007-2017 Pivotal Software, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /var/log/rabbitmq/rabbit@iZbp16sksdu04rk7tj72xdZ.log
  ######  ##        /var/log/rabbitmq/rabbit@iZbp16sksdu04rk7tj72xdZ-sasl.log
  ##########
              Starting broker...
 completed with 0 plugins.

检查一下启动情况

[root@iZbp16sksdu04rk7tj72xdZ sbin]# ps -ef|grep rabbitmq
root      6438 10396  0 18:48 pts/1    00:00:00 /bin/sh -e ./rabbitmq-server
root      6539  6438 11 18:48 pts/1    00:00:00 /usr/lib64/erlang/erts-5.10.4/bin/beam -W w -A 64 -P 1048576 -K true -B i -- -root /usr/lib64/erlang -progname erl -- -home /root -- -pa /usr/local/rabbitmq/rabbitmq_server-3.6.1/ebin -noshell -noinput -s rabbit boot -sname rabbit@iZbp16sksdu04rk7tj72xdZ -boot start_sasl -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/usr/local/rabbitmq/rabbitmq_server-3.6.1/var/log/rabbitmq/rabbit@iZbp16sksdu04rk7tj72xdZ.log"} -rabbit sasl_error_logger {file,"/usr/local/rabbitmq/rabbitmq_server-3.6.1/var/log/rabbitmq/rabbit@iZbp16sksdu04rk7tj72xdZ-sasl.log"} -rabbit enabled_plugins_file "/usr/local/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/local/rabbitmq/rabbitmq_server-3.6.1/plugins" -rabbit plugins_expand_dir "/usr/local/rabbitmq/rabbitmq_server-3.6.1/var/lib/rabbitmq/mnesia/rabbit@iZbp16sksdu04rk7tj72xdZ-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/usr/local/rabbitmq/rabbitmq_server-3.6.1/var/lib/rabbitmq/mnesia/rabbit@iZbp16sksdu04rk7tj72xdZ" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672
root      6621 10396  0 18:48 pts/1    00:00:00 grep --color=auto rabbitmq

好了,至此,证明已经安装成功!

QQ群:积微成著官方群(686430774),验证消息:积微成著

站长Q:1347384268(加好友请注明来意)

分享到:

欢迎分享本文,转载请注明出处!

作者:不忘初心

发布时间:2018-09-10

永久地址:http://www.jiweichengzhu.com/article/985f9a23234f4e5a9f8a25e2b8b9de13