在LinuxUbuntu18.04.x上安装和配置ActiveMQ-Artemis
⽬录
本⽂是“企业数据总线系统”研究的⼀部分。这项特殊的研究将ActiveMQ-Artemis(此后称为Artemis)选为集中式消息中⼼,供系统中所有进程使⽤Artemis⽀持的协议之⼀相互通信。在本⽂中,我将讨论在ARM64计算机上运⾏的Linux Ubuntu 18.04.x OS上安
装/配置Artemis的过程。
假设/期望
Linux命令和Vim
我假设本⽂的读者对Linux shell和命令有⼀定的了解,并且对所⽤Linux命令的解释不在本⽂的讨论范围之内。除⾮另有说明,否
则Linux命令将在终端中运⾏。
我正在使⽤vim编辑器进⾏⽂本编辑,但是读者可以使⽤他们想要的任何其他⽂本编辑器。
“root”⽤户
本⽂中的所有命令均由root⽤户发出。
背景
⾯向消息的中间件(MoM)
⾯向消息的中间件(MoM)是在分布式系统之间⽀持,发送和接收消息的软件或硬件基础结构。
为什么要使⽤MoM?
MoM允许将应⽤程序模块分布在异构平台上,并降低了开发跨越多个操作系统\⽹络协议和编程语⾔的应⽤程序的复杂性。MoM通过提供可靠性、事务处理和许多其他功能,使系统中的进程能够通过定义明确的协议之⼀进⾏通信。
Apache ActiveMQ Artemis
Apache ActiveMQ Artemis(Artemis)是异步消息传递系统,并且是MoM系统的软件实现。Artemis能够通过正在运⾏的代理实例协调分布式系统中进程之间的消息传递流量。
Artemis⽀持的消息协议
Artemis⽀持以下协议:
MPQOpenWire
MQTT
STOMP
HornetQ(⽤于HornetQ客户端)
Core(Artemis CORE协议)
例如,在三层系统中,可能有⼀些⽤Java,C / C ++,Python编写的进程。GoLang,nodejs等在前端,中间层和后端分布式运⾏。这些进程可以通过将其⾃⾝注册到命名队列或主题以发送/接收消息来相互通信(例如,使⽤STOMP协议)。
系统信息
硬件:Odroid N2(ARM 64)
操作系统:Ubuntu 18.04.4 LTS(Bionic Beaver)
JAVA(openjdk-11)安装
Artemis需要JRE(⾄少具有版本8)才能运⾏。以下是openjdk-11安装/配置的过程。
安装:
sudo apt install openjdk-11-jdk
校验:
which java
/usr/bin/java
java --version
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode)
安装后配置:设置JAVA_HOME环境变量
Artemis要求JAVA_HOME设置环境。以下是在/etc/bash.bashrc中进⾏设置并激活它的步骤。
确定JDK安装⽬录的绝对路径
在Ubuntu中,jdks安装在/usr/lib/jvm下。jdk构建中的⼆进制⽂件是特定于平台的;因此,该JAVA_HOME变量必须指向特定于平台的已安装JDK(在这种情况下,该平台为ARM64)。
这是/usr/lib/jvm应有的样⼦:
pwd
/usr/lib/jvm
ls
java-1.11.0-openjdk-arm64 java-11-openjdk-arm64 openjdk-11
java-1.11.0-openjdk-arm64 java-11-openjdk-arm64 openjdk-11
因此,JAVA_HOME应将环境变量设置为“/usr/lib/jvm”。
在/etc/bash.bashrc中设置JAVA_HOME
编辑⽂件/etc/bash.bashrc:
vim /etc/bash.bashrc
添加以下⾏(在此⽂件的底部):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64
源脚本:
vim编辑器下载与安装source /etc/bash.bashrc
验证变量的值:
echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-arm64
2. ActiveMQ-Artemis安装/配置
从下载Artemis
打开Web浏览器并指向以下URL:
/components/artemis/download/
源包和⼆进制包的URL:
图1:ActiveMQ Artemis下载页⾯
注意事项:
我在本教程中使⽤了tar包(此⽰例中的⽂件位于/media/SDA1中)。
ActiveMQ服务器及其代理将安装在“/opt ”⽬录中。
我将使⽤的经纪⼈名称为`ActiveMQ-Odroid-110`。
提取下载的捆绑包
pwd
/opt
tar -xzf /media/SDA1/apache-artemis-2.12.
校验:
ls
(among other things…) apache-artemis-2.12.0
创建⼀个新的Linux⽤户组`activemq`
addgroup --quiet --system activemq
创建⼀个新的Linux⽤户`activemq`
adduser --quiet --system --ingroup activemq \
--no-create-home --disabled-password activemq
更改⽬录“/opt/apache-artemis-2.12.0”的所有权chown -R activemq:activemq /opt/activemq
导航到“bin”⽬录
cd apache-artemis-2.12.0/bin
校验:
./artemis
如果看到以下输出,则表明已准备好安装代理:
usage: artemis <command> [<args>]
The most commonly used artemis commands are:
address Address tools group (create|delete|update|show)
(example ./artemis address create)
browser It will browse messages on an instance
consumer It will consume messages from an instance
create creates a new broker instance
data data tools group (print) (example ./artemis data print)
help Display help information
mask mask a password and print it out
migrate1x Migrates the configuration of a 1.x Artemis Broker
producer It will send messages to an instance
queue Queue tools group (create|delete|update|stat|purge)
(example ./artemis queue create)
See 'artemis help <command>' for more information on a specific command.创建代理
在此⽰例中,代理将具有以下属性:
名称:ActiveMQ-Odroid-110
管理员UID:admin
管理员密码:admin
./artemis create ActiveMQ-Odroid-110 --user=admin --password=admin \
--http-host 0.0.0.0 --relax-jolokia
.
..安装将出现⼀个额外的提⽰(只需键⼊“Y”,然后按Enter):
--allow-anonymous | --require-login: is a mandatory property!
Allow anonymous access?, valid values are Y,N,True,False
Y <--- Enter
其余输出:
Auto tuning journal ...
done! Your system can make 1.61 writes per millisecond,
your journal-buffer-timeout will be 620000
You can now start the broker by executing:
"/opt/apache-artemis-2.12.0/bin/ActiveMQ-Odroid-110/bin/artemis" run
Or you can run the broker in the background using:
"/opt/apache-artemis-2.12.0/bin/ActiveMQ-Odroid-110/bin/artemis-service" start
"/opt/apache-artemis-2.12.0/bin/ActiveMQ-Odroid-110/bin/artemis-service" Usage: ./artemis-service {start|stop|restart|force-stop|status}
启动代理实例
现在,我们准备运⾏代理:
测试运⾏#1:⼿动启动代理进⾏测试运⾏
"/opt/apache-artemis-2.12.0/bin/ActiveMQ-Odroid-110/bin/artemis" run
现在,打开Web浏览器并将其指向以下⽹站:
<IP of the broker>:8161
如果您看到以下⽹页,则代理实例已启动并成功运⾏:
图2:ActiveMQ初始⽹页
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论