Apache ActiveMQ je široce používaný server pro zasílání zpráv napsaný v Javě. Jak to běžně dělají služby zasílání zpráv, vytváří most mezi heterogenními systémy pro spolehlivou výměnu dat ve formě zpráv zasouvaných do front produkčními klienty, kde čekají na „přečtení“ nebo na konzumaci spotřebitelskými klienty.
Systém, který je klientem pro ActiveMQ, může být přirozeně jak výrobcem, tak spotřebitelem a více než jeden systém se může přihlásit k odběru fronty nebo tématu, což umožňuje flexibilní komunikaci mezi těmito klientskými systémy. Pro připojení k ActiveMQ lze použít mnoho různých platforem a protokolů, což ještě více zvyšuje jeho užitečnost.
V tomto tutoriálu nainstalujeme Apache ActiveMQ na Red Hat Enterprise Linux 8 z tarballu, přidáme systemd
soubory jednotek pro snadné použití a přístup na stránku správce naší nové služby, kde můžete vytvořit frontu.
V tomto tutoriálu se naučíte:
- Jak nainstalovat ActiveMQ z tarballu
- Jak nastavit prostředí z příkazového řádku
- Jak přidat soubory systemd unit pro ActiveMQ
- Jak získat přístup na stránku správce
Úvodní stránka Apache ActiveMQ na RHEL 8
Požadavky na software a použité konvence
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Red Hat Enterprise Linux 8 |
Software | Apache ActiveMQ 5.15.8 |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Jak nainstalovat activemq na Redhat 8 pokyny krok za krokem
Apache ActiveMQ vyžaduje funkční instalaci Java 8 a nic víc. Měli bychom mít na paměti, že zprávy budou uchovávány na disku, takže je potřeba odpovídající místo. V tomto tutoriálu nebudeme server skutečně zatěžovat, fronta, kterou vytvoříme, nezabere místo, protože bude prázdná.
- Chceme-li najít balíček, který potřebujeme, můžeme se podívat na domovskou stránku vydání. Najdeme tam URL, které lze zadat
wget
. Aplikaci nainstalujeme pod/opt
adresář, takže jej zadáme:# cd /opt
A stáhněte si balíček pomocí adresy URL, kterou jsme získali z webu:
# 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
Stránka je dostatečně chytrá, aby nás přesměrovala na balíček v nejbližším zrcadle, ale
wget
potřebuje ke zpracování adresy URL dvojité uvozovky a název výstupního souboru můžeme zadat pomocí-O
, nepoužívejte adresu URL jako název souboru. - Archiv rozbalíme na místě:
# tar -xvf apache-activemq-5.15.8-bin.tar.gz
- Přidali jsme symbolický odkaz, který na něj ukazuje a má uživatelsky přívětivější název:
# ln -s /opt/apache-activemq-5.15.8 /opt/activemq
- Z bezpečnostních důvodů službu nespouštíme jako
root
(nic by nemělo běžet jako root, pokud to není nutné). Vytvoříme uživateleactivemq
a služba poběží pod jejím jménem:# useradd activemq
- Tohoto nového uživatele jsme nastavili jako vlastníka obsahu extrahovaného balíčku rekurzivně:
# chown -R activemq:activemq apache-activemq-5.15.8*
- Vytváříme soubor jednotky,
/etc/systemd/system/activemq.service
, která bude obsahovat definici služby:[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
- Musíme znovu načíst
systemd
abyste si všimli nové služby:# systemctl daemon-reload
- A od této chvíle můžeme spravovat:spouštění, zastavování a získávání stavu:
# systemctl start|stop|status activemq
- Pokud plánujeme používat tuto službu pravidelně, můžeme si objednat
systemd
ke spuštění služby při každém spuštění:# systemctl enable activemq
- Abychom se ujistili, že vše funguje správně, po spuštění služby můžeme zkontrolovat její soubor protokolu, který je
/opt/activemq/data/activemq.log
v našem případě. V tomto souboru můžeme najít záznam, který naznačuje, že je dosažitelný pomocí prohlížeče: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
je výchozí port pro ActiveMQ. Pokud na našem počítači běží firewall, musíme pro přístup k WebConsole otevřít tento port:# firewall-cmd --zone=public --add-port=8161/tcp --permanent success # firewall-cmd --reload success
- Nyní můžeme přistupovat k naší ActiveMQ WebConsole nasměrováním prohlížeče na název hostitele nebo IP adresu počítače, port 8161, a připojením adresy URL pomocí
/admin
, abyste viděli více než jen uvítací stránku a několik odkazů. Stránka konzoly Apache ActiveMQ.Tato stránka bude vyžadovat ověření. Protože jsme nezměnili výchozí konfiguraci, můžeme hádat, jaké by mohlo být výchozí uživatelské jméno a heslo. Tip:zkusme admin/admin.
- Náš server ActiveMQ je v provozu a můžeme jej spravovat z WebConsole. Například kliknutím na odkaz „Fronty“ můžeme vytvořit frontu (na obrázku níže je prázdná): Seznam front ActiveMQ s příkladem fronty.
Můžeme začít připojovat klienty k našemu serveru ActiveMQ a poskytovat mu zprávy do fronty a přeposílat zákazníkům v případě potřeby.