安装部署rabbitmq

官方下载地址:https://www.rabbitmq.com/install-rpm.html#downloads

下载erlang、socat、rabbitmq-server服务包并进行安装
[root@master-all ~]# wget https://file.api.ym68.cc/rabbitmq/erlang-22.3.2-1.el7.x86_64.rpm
[root@master-all ~]# wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
[root@master-all ~]# wget https://file.api.ym68.cc/rabbitmq/rabbitmq-server-3.8.3-1.el7.noarch.rpm
[root@master-all ~]# rpm -ivh erlang-22.3.2-1.el7.x86_64.rpm
warning: erlang-22.3.2-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:erlang-22.3.2-1.el7              ################################# [100%]
[root@master-all ~]# rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm 
warning: socat-1.7.3.2-5.el7.lux.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 53e4e7a9: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:socat-1.7.3.2-5.el7.lux          ################################# [100%]
[root@master-all ~]# rpm -ivh rabbitmq-server-3.8.3-1.el7.noarch.rpm 
warning: rabbitmq-server-3.8.3-1.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 6026dfca: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:rabbitmq-server-3.8.3-1.el7      ################################# [100%]
修改配置文件
[root@master-all ~]# vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin/rabbit.app 
            {tcp_listeners, [5672]},  //默认端口
            {num_tcp_acceptors, 10},
            {ssl_listeners, []},
            {num_ssl_acceptors, 10},
            {ssl_options, []},
            {vm_memory_high_watermark, 0.4},
            {vm_memory_high_watermark_paging_ratio, 0.5},
            {vm_memory_calculation_strategy, rss},
            {memory_monitor_interval, 2500},
            {disk_free_limit, 50000000}, %% 50MB
            {msg_store_index_module, rabbit_msg_store_ets_index},
            {backing_queue_module, rabbit_variable_queue},
            %% 0 ("no limit") would make a better default, but that
            %% breaks the QPid Java client
            {frame_max, 131072},
            %% see rabbitmq-server#1593
            {channel_max, 2047},
            {connection_max, infinity},
            {heartbeat, 60},
            {msg_store_file_size_limit, 16777216},
            {fhc_write_buffering, true},
            {fhc_read_buffering, false},
            {queue_index_max_journal_entries, 32768},
            {queue_index_embed_msgs_below, 4096},
            {default_user, <<"guest">>},
            {default_pass, <<"guest">>},
            {default_user_tags, [administrator]},
            {default_vhost, <<"/">>},
            {default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
            {loopback_users, ["guest"]},  //修改此处
启动服务
-detached:守护进程模式(后台运行)
[root@master-all ~]# rabbitmq-server -detached
查看端口
[root@master-all ~]# lsof -i:5672
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
beam.smp 3155 rabbitmq   90u  IPv6  26622      0t0  TCP *:amqp (LISTEN)
查看运行状态
[root@master-all ~]# rabbitmqctl status
Status of node rabbit@master-all ...
Runtime

OS PID: 4827
OS: Linux
Uptime (seconds): 133
RabbitMQ version: 3.8.3
Node name: rabbit@master-all
Erlang configuration: Erlang/OTP 22 [erts-10.7.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:64] [hipe]
Erlang processes: 429 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

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

 * rabbitmq_management
 * rabbitmq_web_dispatch
 * rabbitmq_management_agent
 * amqp_client
 * cowboy
 * cowlib

Data directory

Node data directory: /var/lib/rabbitmq/mnesia/rabbit@master-all

Config files


Log file(s)

 * /var/log/rabbitmq/rabbit@master-all.log
 * /var/log/rabbitmq/rabbit@master-all_upgrade.log

Alarms

(none)

Memory

Calculation strategy: rss
Memory high watermark setting: 0.4 of available memory, computed to: 0.8316 gb
other_proc: 0.0264 gb (31.3 %)
code: 0.0261 gb (30.91 %)
other_system: 0.0137 gb (16.21 %)
reserved_unallocated: 0.0109 gb (12.96 %)
other_ets: 0.003 gb (3.61 %)
atom: 0.0015 gb (1.8 %)
plugins: 0.001 gb (1.14 %)
allocated_unused: 0.0008 gb (0.99 %)
mgmt_db: 0.0003 gb (0.38 %)
metrics: 0.0002 gb (0.25 %)
binary: 0.0002 gb (0.22 %)
mnesia: 0.0001 gb (0.09 %)
quorum_ets: 0.0 gb (0.06 %)
connection_other: 0.0 gb (0.05 %)
msg_index: 0.0 gb (0.04 %)
connection_channels: 0.0 gb (0.0 %)
connection_readers: 0.0 gb (0.0 %)
connection_writers: 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: 927
Sockets: 0, limit: 832

Free Disk Space

Low free disk space watermark: 0.05 gb
Free disk space: 48.2993 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
Interface: [::], port: 15672, protocol: http, purpose: HTTP API
查看插件列表
[root@master-all ~]# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: * = running on rabbit@master-all
 |/
[  ] rabbitmq_amqp1_0                  3.8.3
[  ] rabbitmq_auth_backend_cache       3.8.3
[  ] rabbitmq_auth_backend_http        3.8.3
[  ] rabbitmq_auth_backend_ldap        3.8.3
[  ] rabbitmq_auth_backend_oauth2      3.8.3
[  ] rabbitmq_auth_mechanism_ssl       3.8.3
[  ] rabbitmq_consistent_hash_exchange 3.8.3
[  ] rabbitmq_event_exchange           3.8.3
[  ] rabbitmq_federation               3.8.3
[  ] rabbitmq_federation_management    3.8.3
[  ] rabbitmq_jms_topic_exchange       3.8.3
[  ] rabbitmq_management               3.8.3
[  ] rabbitmq_management_agent         3.8.3
[  ] rabbitmq_mqtt                     3.8.3
[  ] rabbitmq_peer_discovery_aws       3.8.3
[  ] rabbitmq_peer_discovery_common    3.8.3
[  ] rabbitmq_peer_discovery_consul    3.8.3
[  ] rabbitmq_peer_discovery_etcd      3.8.3
[  ] rabbitmq_peer_discovery_k8s       3.8.3
[  ] rabbitmq_prometheus               3.8.3
[  ] rabbitmq_random_exchange          3.8.3
[  ] rabbitmq_recent_history_exchange  3.8.3
[  ] rabbitmq_sharding                 3.8.3
[  ] rabbitmq_shovel                   3.8.3
[  ] rabbitmq_shovel_management        3.8.3
[  ] rabbitmq_stomp                    3.8.3
[  ] rabbitmq_top                      3.8.3
[  ] rabbitmq_tracing                  3.8.3
[  ] rabbitmq_trust_store              3.8.3
[  ] rabbitmq_web_dispatch             3.8.3
[  ] rabbitmq_web_mqtt                 3.8.3
[  ] rabbitmq_web_mqtt_examples        3.8.3
[  ] rabbitmq_web_stomp                3.8.3
[  ] rabbitmq_web_stomp_examples       3.8.3
启动可视化图像控制台
[root@master-all ~]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@master-all:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@master-all...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.
放通防火墙
[root@master-all ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent
success
[root@master-all ~]# firewall-cmd --reload
success
验证

访问 http://ip:15672 账号及密码都是:guest

管控台的默认端口是:15672 通信的默认端口是:5672 集群的默认端口是:25672

遇到的问题

1.erlang版本太低,卸载当前版本并安装最新版
[root@master-all ~]# rabbitmq-server start
{"init terminating in do_boot",{undef,[{rabbit_prelaunch,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}

Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done
init terminating in do_boot ()

解决方法:

[root@master-all ~]# rpm -e rabbitmq-server 
[root@master-all ~]# rpm -e erlang 
[root@master-all ~]# wget https://file.api.ym68.cc/rabbitmq/erlang-22.3.2-1.el7.x86_64.rpm
[root@master-all ~]# rpm -ivh erlang-22.3.2-1.el7.x86_64.rpm
warning: erlang-22.3.2-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:erlang-22.3.2-1.el7              ################################# [100%]
[root@master-all ~]# rpm -ivh rabbitmq-server-3.8.3-1.el7.noarch.rpm 
warning: rabbitmq-server-3.8.3-1.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 6026dfca: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:rabbitmq-server-3.8.3-1.el7      ################################# [100%]
2.rabbit已启动
ERROR: node with name "rabbit" already running on "master-all"

解决方法:

[root@master-all ~]# lsof -i:5672 |awk '/amqp/ {print $2}' |xargs kill

该文章采用「CC 协议」,转载必须注明作者和本文链接.
分类: Linux