您当前的位置: 首页 >  ar

寒冰屋

暂无认证

  • 0浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

在Linux Ubuntu 18.04.x上安装和配置ActiveMQ-Artemis

寒冰屋 发布时间:2020-05-24 21:14:11 ,浏览量:0

目录

假设/期望

Linux命令和Vim

“root”用户

背景

面向消息的中间件(MoM)

为什么要使用MoM?

Apache ActiveMQ Artemis

Artemis支持的消息协议

系统信息

JAVA(openjdk-11)安装

安装后配置:设置JAVA_HOME环境变量

确定JDK安装目录的绝对路径

在/etc/bash.bashrc中设置JAVA_HOME

2. ActiveMQ-Artemis安装/配置

从Apache.org下载Artemis

提取下载的捆绑包

创建一个新的Linux用户组`activemq`

创建一个新的Linux用户`activemq`

更改目录“/opt/apache-artemis-2.12.0”的所有权

导航到“bin”目录

创建代理

启动代理实例

测试运行#1:手动启动代理进行测试运行

测试运行2:启动代理作为守护程序进程

为代理创建系统服务

创建系统服务脚本

关于创建其他代理的说明

本文是“企业数据总线系统”研究的一部分。这项特殊的研究将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

源脚本:

source /etc/bash.bashrc

验证变量的值:

echo $JAVA_HOME

/usr/lib/jvm/java-11-openjdk-arm64
2. ActiveMQ-Artemis安装/配置
从Apache.org下载Artemis

打开Web浏览器并指向以下URL:

http://activemq.apache.org/components/artemis/download/

源包和二进制包的URL:

http://activemq.apache.org/components/artemis/download/

图1:ActiveMQ Artemis下载页面

注意事项:

  • 我在本教程中使用了tar包(此示例中的文件位于/media/SDA1中)。
  • ActiveMQ服务器及其代理将安装在“/opt ”目录中。
  • 我将使用的经纪人名称为`ActiveMQ-Odroid-110`。
提取下载的捆绑包
pwd
/opt

tar -xzf /media/SDA1/apache-artemis-2.12.0-bin.tar.gz

校验:

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  []

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 ' 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                  
关注
打赏
1665926880
查看更多评论
0.0721s