版本要求
消息中间件RabbitMQ,安装本身没什么难点,要注意的是它依赖的Erlang的版本。版本不支持,安装后启动时会报错:
escript: exception error: undefined function rabbitmqctl_escript:main/1
in function escript:run/2 (escript.erl, line 759)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1 (init.erl, line 1085)
in call from init:do_boot/3 (init.erl, line 793)
RabbitMQ各版本对Erlang的版本要求,具体可见官网:
RabbitMQ Erlang Version Requirements
这里大概列一下
RabbitMQ版本 | Erlang最低 | Erlang最高 |
---|---|---|
3.11.0-3.11.2 | 25.0 | 25.1 |
3.10.8-3.10.10 | 24.2 | 25.1 |
3.10.5-3.10.7 | 23.2 | 25.1 |
3.10.0-3.10.4 | 23.2 | 24.3 |
3.9.22-3.9.24 | 24.2 | 24.3 |
3.9.15-3.9.21 | 23.3 | 24.3 |
3.9.0-3.9.14 | 23.2 | 24.2 |
我这次安装在centos7.6系统。,RabbitMQ 3.11.2,ERLANG 25.0.4。下面给出官方下载地址。
RabbitMQ下载
ERLANG下载
安装步骤
下载好RabbitMQ和Erlang的安装包后上传到服务器。
Erlang安装
Erlang依赖ncurses-devel。先安装它。通过yum
yum install ncurses-devel
等它下载安装完成。
然后安装Erlang
##解压
tar xvf otp_src_25.0.4.tar.gz
cd otp_src_25.0.4
##prefix指定了安装路径
./configure --prefix=/software/erlang
make
make install
运行完成后,配置环境变量(配置这个主要是为了能在任意目录下找到使用它的命令)。这里只修改当前用户的环境变量文件.bash_profile。
cd ~
vi .bash_profile
在PATH变量前加上ERLANG_HOME,再在已有的PATH变量后面添加上ERLANG_HOME/bin(冒号隔开)。修改完内容如下:
###根据自己实际路径
export ERLANG_HOME=/software/erlang
PATH=$PATH:$HOME/bin:$ERLANG_HOME/bin
export PATH
编辑完保存退出,运行source .bash_profile生效。
然后即可输入erl进入erlang的命令行,如图
RabbitMQ安装
rabbitmq解压即可使用,将刚才的压缩包解压到指定路径。这里我们还安装到/software/下
tar xvf rabbitmq-server-generic-unix-3.11.2.tar.xz -C /software/
然后检查/software/下,就有rabbitmq_server-3.11.2目录了。
也在环境变量中配置下RabbitMQ的路径,方便执行命令。
cd ~
vi .bash_profile
配置RABBITMQ_HOME,并在PATH变量中添加RABBITMQ_HOME/sbin。修改后如下:
export ERLANG_HOME=/software/erlang
export RABBITMQ_HOME=/software/rabbitmq_server-3.11.2
PATH=$PATH:$HOME/bin:$ERLANG_HOME/bin:$RABBITMQ_HOME/sbin
export PATH
编辑完保存退出,运行source .bash_profile生效。
启动运行
直接运行rabbitmq-server即可启动,且可以在控制台窗口看到打印的启动日志。这里我们添加参数-detached,让它以守护进程方式运行。这样当前shell可以继续使用,窗口关闭了rabbitmq服务也会继续运行。
rabbitmq-server -detached
跑完发现没啥动静。可以用它提供的命令查看rabbitmq服务的状态
rabbitmqctl status
运行后打印如下:
Status of node rabbit@VM-4-2-centos ...
Runtime
OS PID: 8012
OS: Linux
Uptime (seconds): 13
Is under maintenance?: false
RabbitMQ version: 3.11.2
RabbitMQ release series support status: supported
Node name: rabbit@VM-4-2-centos
Erlang configuration: Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1]
Crypto library: OpenSSL 1.0.2k-fips 26 Jan 2017
Erlang processes: 273 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60
Plugins
Enabled plugin file: /software/rabbitmq_server-3.11.2/etc/rabbitmq/enabled_plugins
Enabled plugins:
Data directory
Node data directory: /software/rabbitmq_server-3.11.2/var/lib/rabbitmq/mnesia/rabbit@VM-4-2-centos
Raft data directory: /software/rabbitmq_server-3.11.2/var/lib/rabbitmq/mnesia/rabbit@VM-4-2-centos/quorum/rabbit@VM-4-2-centos
Config files
Log file(s)
* /software/rabbitmq_server-3.11.2/var/log/rabbitmq/[email protected]
* /software/rabbitmq_server-3.11.2/var/log/rabbitmq/rabbit@VM-4-2-centos_upgrade.log
* <stdout>
Alarms
(none)
Memory
Total memory used: 0.0762 gb
Calculation strategy: rss
Memory high watermark setting: 0.4 of available memory, computed to: 1.5495 gb
code: 0.0301 gb (39.46 %)
other_proc: 0.0183 gb (24.05 %)
other_system: 0.0133 gb (17.47 %)
reserved_unallocated: 0.0055 gb (7.22 %)
allocated_unused: 0.004 gb (5.22 %)
other_ets: 0.0028 gb (3.63 %)
atom: 0.0014 gb (1.81 %)
metrics: 0.0006 gb (0.72 %)
binary: 0.0001 gb (0.19 %)
mnesia: 0.0001 gb (0.1 %)
plugins: 0.0 gb (0.05 %)
msg_index: 0.0 gb (0.04 %)
quorum_ets: 0.0 gb (0.03 %)
quorum_queue_dlx_procs: 0.0 gb (0.0 %)
stream_queue_procs: 0.0 gb (0.0 %)
stream_queue_replica_reader_procs: 0.0 gb (0.0 %)
connection_channels: 0.0 gb (0.0 %)
connection_other: 0.0 gb (0.0 %)
connection_readers: 0.0 gb (0.0 %)
connection_writers: 0.0 gb (0.0 %)
mgmt_db: 0.0 gb (0.0 %)
queue_procs: 0.0 gb (0.0 %)
queue_slave_procs: 0.0 gb (0.0 %)
quorum_queue_procs: 0.0 gb (0.0 %)
stream_queue_coordinator_procs: 0.0 gb (0.0 %)
File Descriptors
Total: 2, limit: 99904
Sockets: 0, limit: 89911
Free Disk Space
Low free disk space watermark: 0.05 gb
Free disk space: 56.6277 gb
Totals
Connection count: 0
Queue count: 0
Virtual host count: 1
Listeners
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
可以看到有MQ的版本、运行环境信息、进程信息、日志和数据文件路径、服务器状态信息等等。
关闭用命令rabbitmqctl stop即可。
至此RabbitMQ安装完毕
标签:0.0,消息中间件,rabbitmq,gb,linux,3.11,HOME,RabbitMQ From: https://www.cnblogs.com/three-xj/p/16850295.html