Méthode d'installation de RabbitMQ 3.9.8 tr/min

Cet article a participé à l'activité "Newcomer Creation Ceremony" et a commencé ensemble la route de la création de Nuggets

@[toc] J'ai utilisé le code source pour installer erlang, puis j'ai installé rabbitMQ. Cette méthode est un peu compliquée. Référez-vous maintenant au site officiel, vous pouvez l'installer directement avec rpm. Cet article décrit le processus d'installation. Référence officielle Installation sur Linux basé sur RPM (RedHat Enterprise Linux, CentOS, Fedora, openSUSE)

1. Téléchargement du package rpm

Informations sur le système d'exploitation à installer :

[root@m161p114 ~]# lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.9.2009 (Core)
Release:	7.9.2009
Codename:	Core
[root@m161p114 ~]# 
复制代码

Cet article sélectionne la dernière version de RabbitMQ 3.9.8. Maintenant, les fichiers de téléchargement de rabbitMQ sont tous placés sur github.

serveur rabbitmq

Étant donné que le système d'exploitation est centos7, sélectionnez la version téléchargée en tant que rabbitmq-server-3.9.8-1.el7.noarch.rpm .

De plus, vous devez télécharger erlang, reportez-vous à la relation de compatibilité entre rabbitMQ et rabbitMQ : RabbitMQ Erlang Version Requirements

La version minimale d'erlang est 23.2, et la version 23.3.4.8 est sélectionnée ici. Parce que cette version a un package rpm qui prend en charge el7 à télécharger. erlang-rpm

La version téléchargée est : erlang-23.3.4.8-1.el7.x86_64.rpm

Téléchargez maintenant ces deux RPM dans le répertoire /opt/software du service qui doit être installé.

Installation à 2 tr/min

Installez d'abord les dépendances :

[root@m161p114 ~]# yum install -y socat
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * centos-sclo-rh: mirrors.huaweicloud.com
 * centos-sclo-sclo: mirrors.huaweicloud.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                                                                                                      | 3.6 kB  00:00:00     
centos-sclo-rh                                                                                                                                                                            | 3.0 kB  00:00:00     
centos-sclo-sclo                                                                                                                                                                          | 3.0 kB  00:00:00     
epel                                                                                                                                                                                      | 4.7 kB  00:00:00     
extras                                                                                                                                                                                    | 2.9 kB  00:00:00     
updates                                                                                                                                                                                   | 2.9 kB  00:00:00     
(1/3): epel/x86_64/updateinfo                                                                                                                                                             | 1.0 MB  00:00:01     
(2/3): epel/x86_64/primary_db                                                                                                                                                             | 7.0 MB  00:00:06     
(3/3): updates/7/x86_64/primary_db                                                                                                                                                        |  12 MB  00:00:08     
Resolving Dependencies
--> Running transaction check
---> Package socat.x86_64 0:1.7.3.2-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================================================================================
 Package                                         Arch                                             Version                                                   Repository                                      Size
=================================================================================================================================================================================================================
Installing:
 socat                                           x86_64                                           1.7.3.2-2.el7                                             base                                           290 k

Transaction Summary
=================================================================================================================================================================================================================
Install  1 Package

Total download size: 290 k
Installed size: 1.1 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
Warning: RPMDB altered outside of yum.
  Installing : socat-1.7.3.2-2.el7.x86_64                                                                                                                                                                    1/1 
  Verifying  : socat-1.7.3.2-2.el7.x86_64                                                                                                                                                                    1/1 

Installed:
  socat.x86_64 0:1.7.3.2-2.el7                                                                                                                                                                                   

Complete!
复制代码

installation d'erlang :

[root@m161p114 software]# cd /opt/software

[root@m161p114 software]# rpm -ivh erlang-23.3.4.8-1.el7.x86_64.rpm 
warning: erlang-23.3.4.8-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID cc4bbe5b: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:erlang-23.3.4.8-1.el7            ################################# [100%]
[root@m161p114 software]# 
复制代码

Vérifiez la version après l'installation :

[root@m161p114 software]# erl
Erlang/OTP 23 [erts-11.2.2.7] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V11.2.2.7  (abort with ^G)

复制代码

erlang23 installé avec succès.

Installation de rabbitMQ :

[root@m161p114 software]# rpm -ivh rabbitmq-server-3.9.8-1.el7.noarch.rpm 
warning: rabbitmq-server-3.9.8-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 6026dfca: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:rabbitmq-server-3.9.8-1.el7      ################################# [100%]
[root@m161p114 software]# 

复制代码

3. Configurez et démarrez rabbitmq

Vérifiez d'abord le fichier hosts et assurez-vous qu'il existe une résolution IP correspondant au nom d'hôte dans le fichier hosts. Dans cet article, ajoutez :

192.168.161.114 m161p114
复制代码

Contexte de la gestion de la configuration :

[root@m161p114 ~]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@m161p114:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@m161p114...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

set 3 plugins.
Offline change; changes will take effect at broker restart.

复制代码

Après cela, lancez rabbitmq :

[root@m161p114 opt]# service rabbitmq-server start
Redirecting to /bin/systemctl start rabbitmq-server.service
复制代码

Le démarrage de rabbitmq est terminé.

augmenter l'utilisateur :

[root@m161p114 opt]# rabbitmqctl add_user root 123456
Adding user "root" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
[root@m161p114 opt]# rabbitmqctl set_user_tags root administrator
Setting tags for user "root" to [administrator] ...
[root@m161p114 opt]# 

复制代码

À ce stade, l'installation de rabbitmq est terminée et vous pouvez utiliser le nouvel utilisateur pour accéder à rabbitMQ :

http://192.168.161.114:15672

RabbitMQ 登陆

De cette manière, RabbitMQ est installé et rabbitmq peut être démarré et arrêté via le service rabbitmq-server.

4. Quelques erreurs courantes rencontrées

4.1 Erreur de port occupé

Erreur de démarrage:


[root@m161p114 ~]# service rabbitmq-server restart
Redirecting to /bin/systemctl restart rabbitmq-server.service
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
[root@m161p114 ~]# systemctl start rabbitmq-server
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
[root@m161p114 ~]# systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2021-11-01 14:54:05 CST; 9s ago
  Process: 25478 ExecStart=/usr/sbin/rabbitmq-server (code=exited, status=1/FAILURE)
 Main PID: 25478 (code=exited, status=1/FAILURE)
   Status: "Standing by"

Nov 01 14:54:05 m161p114 systemd[1]: Failed to start RabbitMQ broker.
Nov 01 14:54:05 m161p114 systemd[1]: Unit rabbitmq-server.service entered failed state.
Nov 01 14:54:05 m161p114 systemd[1]: rabbitmq-server.service failed.


[root@m161p114 ~]# systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2021-11-01 14:56:45 CST; 1s ago
  Process: 26366 ExecStart=/usr/sbin/rabbitmq-server (code=exited, status=1/FAILURE)
 Main PID: 26366 (code=exited, status=1/FAILURE)
   Status: "Standing by"

Nov 01 14:56:45 m161p114 systemd[1]: Failed to start RabbitMQ broker.
Nov 01 14:56:45 m161p114 systemd[1]: Unit rabbitmq-server.service entered failed state.
Nov 01 14:56:45 m161p114 systemd[1]: rabbitmq-server.service failed.
[root@m161p114 ~]# systemctl start rabbitmq-server
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
[root@m161p114 ~]# journalctl -xe
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {failed_to_start_child,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {ranch_embedded_sup,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {acceptor,{0,0,0,0,0,0,0,0},5672}},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {shutdown,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {failed_to_start_child,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {ranch_listener_sup,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {acceptor,{0,0,0,0,0,0,0,0},5672}},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {shutdown,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {failed_to_start_child,ranch_acceptors_sup,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {listen_error,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {acceptor,{0,0,0,0,0,0,0,0},5672},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: eaddrinuse}}}}}}},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {child,undefined,'rabbit_tcp_listener_sup_:::5672',
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {tcp_listener_sup,start_link,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: [{0,0,0,0,0,0,0,0},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: 5672,ranch_tcp,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: [inet6,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {backlog,128},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {nodelay,true},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {linger,{true,0}},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {exit_on_close,false}],
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: rabbit_connection_sup,[],
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {rabbit_networking,tcp_listener_started,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: [amqp,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: [{backlog,128},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {nodelay,true},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {linger,{true,0}},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {exit_on_close,false}]]},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {rabbit_networking,tcp_listener_stopped,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: [amqp,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: [{backlog,128},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {nodelay,true},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {linger,{true,0}},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: {exit_on_close,false}]]},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: 10,1,"TCP listener"]},
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: transient,infinity,supervisor,
Nov 01 14:57:16 m161p114 rabbitmq-server[26561]: [tcp_listener_sup]}}}}
Nov 01 14:57:17 m161p114 rabbitmq-server[26561]: {"init terminating in do_boot",{error,{could_not_start_listener,"::",5672,{{shutdown,{failed_to_start_child,{ranch_embedded_sup,{acceptor,{0,0,0,0,0,0,0,0},5672
Nov 01 14:57:17 m161p114 rabbitmq-server[26561]: init terminating in do_boot ({error,{could_not_start_listener,::,5672,{{shutdown,{_}},{child,undefined,rabbit_tcp_listener_sup_:::5672,{_},transient,infinity,su

复制代码

Démarrez rabbitmq, l'erreur ci-dessus se produit. En fait, cela est dû au fait que le port est occupé. rabbitmq utilise le port 5672. Sur ce serveur, du fait de l'installation d'activeMQ, le port 5672 est occupé.

[root@m161p114 usr]# netstat -an |grep 5672
tcp        0      0 0.0.0.0:5672            0.0.0.0:*               LISTEN     
[root@m161p114 usr]# lsof -i:5672
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15085 root  139u  IPv4 142285      0t0  TCP *:amqp (LISTEN)
[root@m161p114 usr]# 
[root@m161p114 etc]# ps -aux |grep activemq
root     15085  0.1  5.6 4749504 450096 ?      Sl   Oct28   6:45 /bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/apache-activemq-5.16.3//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/opt/apache-activemq-5.16.3//tmp -Dactivemq.classpath=/opt/apache-activemq-5.16.3//conf:/opt/apache-activemq-5.16.3//../lib/: -Dactivemq.home=/opt/apache-activemq-5.16.3/ -Dactivemq.base=/opt/apache-activemq-5.16.3/ -Dactivemq.conf=/opt/apache-activemq-5.16.3//conf -Dactivemq.data=/opt/apache-activemq-5.16.3//data -jar /opt/apache-activemq-5.16.3//bin/activemq.jar start
root     32118  0.0  0.0 112820   944 pts/0    S+   15:14   0:00 grep --color=auto activemq
[root@m161p114 etc]# 

复制代码

Comme vous pouvez le voir, 5672 est occupé par activeMQ. Bien qu'activeMQ utilise le port 61616, le service amqp occupe toujours le port 5672. Nous avons juste besoin de fermer activeMQ et de redémarrer rabbitMQ.

4.2 Augmenter les rapports d'erreurs utilisateur

Lors du processus d'ajout d'utilisateurs rabbitMQ, l'erreur suivante s'est produite :

[root@m161p114 etc]# rabbitmqctl add_user root 123456
Error: unable to perform an operation on node 'rabbit@m161p114'. 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@m161p114
 * If target node is configured to use long node names, don't forget to use --longnames with CLI tools

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

attempted to contact: [rabbit@m161p114]

rabbit@m161p114:
  * connected to epmd (port 4369) on m161p114
  * epmd reports: node 'rabbit' not running at all
                  no other nodes on m161p114
  * suggestion: start the node

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

[root@m161p114 etc]# 

复制代码

Cela nécessite le démarrage du serveur rabbitMQ. Sinon, l'erreur ci-dessus se produira.

Je suppose que tu aimes

Origine juejin.im/post/7080088272331866120
conseillé
Classement