CentOS8.1中RabbitMQ的安装

  Linux软件包的安装方法有很多,RabbitMQ也不例外,这里记录一下官方强列推荐的安装方法!

  首先进入RabbitMQ官方下载页(https://www.rabbitmq.com/download.html),选择合适你的操作系统的下载和安装指引,我这边是CentOS(请确保你的服务器能连上外网,否则请用离线安装方式):

  进去后,我们根据说明,点进强列推荐的安装方式(即使用Package Cloud上的Yum库)的说明链接:

  由于Package Cloud签发安装包时使用的是他们自己的GPG key,虽然2018他们开始做Key迁移,但还是建设大家先导一下Package Cloud的Key:

  

# rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
# rpm --import https://packagecloud.io/gpg.key

  然后,因为RabbitMQ是由Erlang语言开发,RabbitMQ安装包也依赖于Erlang,所以我们先根据提示安装好Erlang相关的包:

# curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

  然后再回过头来根据提示安装RabbitMQ:

# curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

  当然,以后有新版本了,你还可以用下面的命令将RabbitMQ更新到最新版本(生产环境不要随便更新升级哦!!!):

# yum install rabbitmq-server.noarch

  做完这些以后,安装工作可以说是完成了!是不是很快!但是,我们后面还得做一下基本配置的和验证的!

  安装完后,我们设置RabbitMQ为开机启动

# chkconfig rabbitmq-server on
# systemctl enable rabbitmq-server.service

  然后我们在 /etc/rabbitmq/ 目录下新增一个环境配置文件 rabbitmq-env.conf 

# vim /etc/rabbitmq/rabbitmq-env.conf
NODENAME=rabbit@localhost

  接着尝试启动RabbitMQ服务:

# systemctl start rabbitmq-server

  最后查看一下RabbitMQ是否启动成功:

# rabbitmqctl status
Error: unable to perform an operation on node 'rabbit@localhost'. Please see diagnostics information and suggestions below.

Most common reasons for this are:

 * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
 * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
 * Target node is not running

In addition to the diagnostics info below:

 * See the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more
 * Consult server logs on node rabbit@localhost
 * If target node is configured to use long node names, don't forget to use --longnames with CLI tools

DIAGNOSTICS
===========

attempted to contact: [rabbit@localhost]

rabbit@localhost:
  * connected to epmd (port 4369) on localhost
  * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic 
  * TCP connection succeeded but Erlang distribution failed 

  * Node name (or hostname) mismatch: node "rabbit@mqserver" believes its node name is not "rabbit@mqserver" but something else.
    All nodes and CLI tools must refer to node "rabbit@mqserver" using the same name the node itself uses (see its logs to find out what it is)


Current node details:
 * node name: 'rabbitmqcli-33080-rabbit@localhost'
 * effective user's home directory: /var/lib/rabbitmq
 * Erlang cookie hash: V4dlxLzzzHnrAyZ80UrlSg==

  结果报错了!!!给出的可能原因的第一条是“Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)”,目标节点不可达!所谡的目标节点,就是我们在 /etc/rabbitmq/rabbitmq-env.conf 文件中配置的 rabbit@localhost ,进于步推测的原因是hostname解析问题,或防火墙问题

  我们先试将localhost这个主机名做一个host映射(映射的IP 192.168.0.108是我的,你要换成你自己的):

# echo 192.168.0.108 localhost >> /etc/hosts

  完了后,重启一下RabbitMQ服务:

# systemctl restart rabbitmq-server

  再次查看一下RabbitMQ服务的状态(竟然好了,果然是hostname解析的问题):

# rabbitmqctl status
Status of node rabbit@localhost ...
Runtime

OS PID: 33539
OS: Linux
Uptime (seconds): 23
RabbitMQ version: 3.8.7
Node name: rabbit@localhost
Erlang configuration: Erlang/OTP 23 [erts-11.0.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:64] [hipe]
Erlang processes: 276 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

Enabled plugin file: /etc/rabbitmq/enabled_plugins
Enabled plugins:


Data directory

Node data directory: /var/lib/rabbitmq/mnesia/rabbit@localhost
Raft data directory: /var/lib/rabbitmq/mnesia/rabbit@localhost/quorum/rabbit@localhost

Config files


Log file(s)

 * /var/log/rabbitmq/rabbit@localhost.log
 * /var/log/rabbitmq/rabbit@localhost_upgrade.log

Alarms

(none)

Memory

Total memory used: 0.0976 gb
Calculation strategy: rss
Memory high watermark setting: 0.4 of available memory, computed to: 0.7576 gb

other_proc: 0.0295 gb (30.22 %)
code: 0.0289 gb (29.62 %)
reserved_unallocated: 0.0191 gb (19.61 %)
other_system: 0.0126 gb (12.89 %)
other_ets: 0.0029 gb (2.95 %)
allocated_unused: 0.0023 gb (2.34 %)
atom: 0.0013 gb (1.37 %)
plugins: 0.0005 gb (0.47 %)
metrics: 0.0002 gb (0.2 %)
binary: 0.0002 gb (0.18 %)
mnesia: 0.0001 gb (0.08 %)
quorum_ets: 0.0 gb (0.05 %)
msg_index: 0.0 gb (0.03 %)
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 %)

File Descriptors

Total: 2, limit: 32671
Sockets: 0, limit: 29401

Free Disk Space

Low free disk space watermark: 0.05 gb
Free disk space: 12.3948 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

  至此使用官方推荐方法初步安装RabbitMQ就算完成了!

posted @ 2020-08-26 22:02  岁月已走远  阅读(988)  评论(0编辑  收藏  举报