Apache ActiveMQ est un serveur de messagerie largement utilisé écrit en Java. Comme le font couramment les services de messagerie, il crée un pont entre des systèmes hétérogènes pour un échange de données fiable sous la forme de messages poussés dans des files d'attente par les clients producteurs, où ils attendent d'être "lus" ou consommés par les clients consommateurs.
Naturellement, un système client d'ActiveMQ peut être à la fois producteur et consommateur, et plusieurs systèmes peuvent s'abonner à une file d'attente ou à un sujet, permettant ainsi une communication flexible entre ces systèmes clients. De nombreuses plates-formes et protocoles différents peuvent être utilisés pour se connecter à ActiveMQ, ce qui augmente encore son utilité.
Dans ce tutoriel, nous allons installer Apache ActiveMQ sur Red Hat Enterprise Linux 8 à partir de tarball, ajouter le systemd
fichiers d'unité pour une utilisation facile, et accédez à la page d'administration de notre nouveau service pour créer une file d'attente.
Dans ce didacticiel, vous apprendrez :
- Comment installer ActiveMQ à partir de l'archive tar
- Comment configurer l'environnement à partir de la ligne de commande
- Comment ajouter des fichiers unitaires systemd pour ActiveMQ
- Comment accéder à la page d'administration
Page d'accueil d'Apache ActiveMQ sur RHEL 8
Configuration logicielle requise et conventions utilisées
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Red Hat Enterprise Linux 8 |
Logiciel | Apache ActiveMQ 5.15.8 |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Comment installer activemq sur Redhat 8 instructions étape par étape
Apache ActiveMQ nécessite une installation Java 8 fonctionnelle, et rien de plus. Nous devons garder à l'esprit que les messages seront conservés sur disque, donc un espace approprié est nécessaire. Dans ce tutoriel, nous ne donnerons pas de charge réelle au serveur, la file d'attente que nous créons ne consommera pas d'espace, car elle sera vide.
- Pour trouver le package dont nous avons besoin, nous pouvons consulter la page d'accueil de la version. Nous pouvons y trouver l'URL, qui peut être donnée à
wget
. Nous allons installer l'application sous le/opt
répertoire, nous le saisissons donc :# cd /opt
Et téléchargez le package en utilisant l'URL que nous avons acquise sur le site :
# wget "http://www.apache.org/dyn/closer.cgi&filename=/activemq/5.15.8/apache-activemq-5.15.8-bin.tar.gz&action=download" -O apache-activemq-5.15.8-bin.tar.gz
Le site est assez intelligent pour nous rediriger vers le package sur le miroir le plus proche, mais
wget
a besoin de guillemets doubles pour gérer l'URL, et nous pouvons spécifier le nom du fichier de sortie avec-O
, en évitant une URL comme nom de fichier. - Nous allons extraire l'archive sur place :
# tar -xvf apache-activemq-5.15.8-bin.tar.gz
- Nous ajoutons un lien symbolique pointant vers lui qui a un nom plus convivial :
# ln -s /opt/apache-activemq-5.15.8 /opt/activemq
- Pour des raisons de sécurité, nous n'exécutons pas le service en tant que
root
(rien ne doit s'exécuter en tant que root s'il n'en a pas besoin). Nous créons un utilisateuractivemq
, et le service s'exécutera sous son nom :# useradd activemq
- Nous définissons ce nouvel utilisateur comme propriétaire du contenu du package extrait, de manière récursive :
# chown -R activemq:activemq apache-activemq-5.15.8*
- Nous créons un fichier d'unité,
/etc/systemd/system/activemq.service
, qui contiendra la définition du service :[Unit] Description=Apache ActiveMQ After=network.target [Service] Type=forking User=activemq Group=activemq ExecStart=/opt/activemq/bin/activemq start ExecStop=/opt/activemq/bin/activemq stop [Install] WantedBy=multi-user.target
- Nous devons recharger
systemd
afin de remarquer le nouveau service :# systemctl daemon-reload
- Et à partir de maintenant, nous pouvons gérer :démarrer, arrêter et obtenir son statut :
# systemctl start|stop|status activemq
- Si nous prévoyons d'utiliser ce service régulièrement, nous pouvons commander
systemd
pour démarrer le service à chaque démarrage :# systemctl enable activemq
- Pour nous assurer que tout fonctionne correctement, après le démarrage du service, nous pouvons vérifier son fichier journal, qui est
/opt/activemq/data/activemq.log
dans notre cas. Dans ce fichier, nous pouvons trouver une entrée indiquant qu'il est accessible avec un navigateur :2019-01-15 15:59:14,359 | INFO | ActiveMQ WebConsole available at http://0.0.0.0:8161/ | org.apache.activemq.web.WebConsoleStarter | main
- Port
8161
est le port par défaut pour ActiveMQ. Si notre machine exécute un pare-feu, nous devons ouvrir ce port pour accéder à la WebConsole :# firewall-cmd --zone=public --add-port=8161/tcp --permanent success # firewall-cmd --reload success
- Nous pouvons maintenant accéder à notre ActiveMQ WebConsole en faisant pointer un navigateur vers le nom d'hôte ou l'adresse IP de la machine, port 8161, en ajoutant à l'URL
/admin
, pour voir plus qu'une page d'accueil et quelques liens. Page de la console Apache ActiveMQ.Cette page nécessitera une authentification. Comme nous n'avons pas modifié la configuration par défaut, nous pouvons deviner quels pourraient être le nom d'utilisateur et le mot de passe par défaut. Astuce :essayons admin/admin.
- Notre serveur ActiveMQ est opérationnel et nous pouvons le gérer à partir de la WebConsole. Par exemple en cliquant sur le lien « Files d'attente », on peut créer une file d'attente (vide sur l'image ci-dessous) : Liste des files d'attente ActiveMQ avec un exemple de file d'attente.
Nous pouvons commencer à attacher des clients à notre serveur ActiveMQ et lui fournir des messages à mettre en file d'attente et à transmettre aux consommateurs en cas de besoin.