首页 > 其他分享 >测试ActiveMqAA

测试ActiveMqAA

时间:2024-12-07 10:25:42浏览次数:2  
标签:安装 测试 ActiveMQ ActiveMqAA MQ 版本 apache activemq

入门概述

MQ 种类和对比

MQ 就是消息中间件。MQ 是一种理念,ActiveMQ 是 MQ 的落地产品。不管是哪款消息中间件,都有如下一些技术维度:

assets/测试ActiveMqAA/image-20240408221948862.png

MQ 消息的详细比较

assets/测试ActiveMqAA/image-20240408222125860.png

各类 MQ 的擅长领域

MQ 种类 变成语言 擅长领域
kafka scala 大数据领域的主流 MQ。
rabbitmq erlang 基于 erlang 语言,不好修改底层,不好查找问题的原因,不建议选用
rocketmq java 适用于大型项目。适用于集群
activemq java 适用于中小型项目

是什么

面向消息的中间件(message-oriented middleware)MOM 能够很好的解决以上问题。是指利用高效可靠的消息传递机制与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型在分布式环境下提供应用解耦,弹性伸缩,冗余存储、流量削峰,异步通信,数据同步等功能。

大致的过程是这样的:发送者把消息发送给消息服务器,消息服务器将消息存放在若干队列/主题 topic 中,在合适的时候,消息服务器回将消息转发给接受者。在这个过程中,发送和接收是异步的,也就是发送无需等待,而且发送者和接受者的生命周期也没有必然的关系;尤其在发布 pub/订阅 sub 模式下,也可以完成一对多的通信,即让一个消息有多个接受者。

assets/测试ActiveMqAA/image-20240408224621057.png

如何安装与查看控制台

Linux 系统直接安装

检查 JAVA 环境

由于 ActiveMQ 是 java 编写的,因此需要有 jdk 的运行环境,检查 Java 版本

 java -version

assets/测试ActiveMqAA/image-20240408234356463.png

官网下载安装包

凡遇技术,必定官网 ActiveMQ (apache.org)

注意:5.16.x 版本及以下支持 java8,5.17.x-5.18.x 需要 java11,6 版本则需要 java17

下图中左侧是稳定版,右侧是开发版。

assets/测试ActiveMqAA/image-20240408231212252.png

按需要查找版本,此处贴一个 5.14.5 版本的链接 ActiveMQ --- ActiveMQ (apache.org),由于后续涉及集群的搭建,建议下载 Linux 的版本,毕竟没有见过 window 搭建集群的

assets/测试ActiveMqAA/image-20240409182551469.png

上传安装包到 Linux 服务器

安装包放到/opt 目录下,放在哪个目录没有硬性要求

assets/测试ActiveMqAA/image-20240408235316664.png

创建软件安装文件夹

软件安装文件夹,没有路径要求

# 创建软件安装的文件夹 -p 父目录不存在,则循环创建
mkdir -p /software/activeMQ/

解压缩安装包

tar -zxvf apache-activemq-5.14.5-bin.tar.gz

assets/测试ActiveMqAA/image-20240409000433353.png

拷贝解压文件

拷贝解压的软件到指定的安装文件夹,直接解压过去也是可以的

cp -r apache-activemq-5.14.5 /software/activeMQ/

assets/测试ActiveMqAA/image-20240409000715651.png

普通启动

# 首先要跳转到 %软件的安装目录%/bin 目录下
cd /software/activeMQ/apache-activemq-5.14.5/bin
# 执行启动命令
./activemq start

assets/测试ActiveMqAA/image-20240409001242335.png

启动时指定日志输出文件(重要)

activemq 日志默认的位置是在:%activemq 安装目录%/data/activemq.log

#  activemq start  >  %指定路径%
 activemq start  >  /usr/local/raohao/activemq.log

Docker 安装

前情提要:Docker 需要已经安装,Docker 的使用参考 Docker小册

查询镜像

官方并没有为 ActiveMq 制作镜像,我们只能选择点赞数最多的一个下载使用。版本 5.14.3

docker search activemq

拉取镜像

docker pull webcenter/activemq

assets/测试ActiveMqAA/image-20240409173703232.png

查看镜像

 docker images webcenter/activemq

assets/测试ActiveMqAA/image-20240409174536552.png

启动容器

也可以直接执行该指令,省去前面查询的步骤

  • 61616 是 activemq 的容器使用端口(映射为 61617)
  • 8161 是 web 页面管理端口(对外映射为 8161)
	docker run --name='activemq5.14.3' \
      -d \
	  -p 8161:8161 \
	  -p 61616:61616 \
	  -e ACTIVEMQ_ADMIN_LOGIN=admin \
	  -e ACTIVEMQ_ADMIN_PASSWORD=123456 \
	  -v /app/activemq/data:/data/activemq \
	  -v /app/activemq/log:/var/log/activemq \
	  webcenter/activemq:latest

assets/测试ActiveMqAA/image-20240409175301711.png

检查服务是否启动

方式 1:检查进程

 ps -ef | grep activemq

assets/测试ActiveMqAA/image-20240409015224394.png

方式 2:检查端口是否被占用

ActiveMQ 默认端口是 61616

netstat -anp | grep 61616

assets/测试ActiveMqAA/image-20240409181131261.png

方式 3:换种方式查看端口是否被占用

 lsof -i:61616

assets/测试ActiveMqAA/image-20240409181157709.png

启动异常排查

JDK 版本不满足当前 MQ 的需求

现象描述:linux 系统直接安装的方式下,项目迟迟启动不起来,activemq.log 中也没有任何异常的抛出

排查结果: activeMQ5.17.x 版本要求的 JDK 版本为 11,而本地当前的 java 版本为 java8,因此导致的启动失败,这也是前面截图中部分操作的指令使用的是 6.1.1 做演示的原因

assets/测试ActiveMqAA/image-20240409181844086.png

权限不够导致的 Web 页面无法启动

现象描述:无法连接控制页面,但是服务确已经启动,activemq console 爆出权限不够的异常

assets/测试ActiveMqAA/image-20240409215527343.png

解决办法: 使用拥有足够权限的用户启动服务

外部访问不到

现象描述:curl 127.0.0.1:8161 有返回的网页数据,但是在外部计算机中通过域名加端口,浏览器访问不到

查看是否是 linux 防火墙导致 linux系统中查看防火墙以及开放端口号命令_linux查看加入防火墙端口-CSDN博客

# 查看防火墙状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
# 关闭防火墙
systemctl stop firewalld

访问控制台

访问地址:http://% 主机 IP%:8161,默认用户名密码均为 admin,

assets/测试ActiveMqAA/image-20240409220439596.png

入门案例

参考资料

标签:安装,测试,ActiveMQ,ActiveMqAA,MQ,版本,apache,activemq
From: https://www.cnblogs.com/aaalei/p/18591851

相关文章

  • C#实现一个HttpClient集成通义千问-测试代码入手学习参数配置
    测试代码入手学习参数配置准备测试代码修改配置效果:修改消息内容测试流式输出设置流式输出的参数视频教程准备测试代码我们学习从测试代码开始,选择一个模型选择的大模型:通义千问2-VL-开源版-7B然后再API示例中,找到C#的示例代码测试代码:usingSystem.Net.Http.H......
  • 一文带你全面了解什么是自动化测试?
    简介软件测试是软件开发过程中一个必不可少的环节。传统的软件测试方式通常是手动测试,即由专业的测试人员通过手动操作软件应用程序来验证其功能和性能。然而,这种方式存在许多缺点,例如时间耗费、测试结果不稳定、测试覆盖率不够高等。为了解决这些问题,自动化测试逐渐成为了主流......
  • java接口测试利器【postman】
    怎样使用postman一、了解postman1.postman?—— 软件测试用来做接口测试的工具。2.下载postman—— https://www.getpostman.com/(官方下载)3.postman的界面二、用postman工具测试创建一个新的请求:打开Postman应用,创建一个工作区。点击“New”按钮,选择“Reques......
  • 燃料电池测试负载的工作原理是什么?
    燃料电池测试负载的工作原理主要涉及到对燃料电池性能的检测和评估。燃料电池是一种将化学能直接转化为电能的装置,其工作原理是通过氢气和氧气在催化剂的作用下发生氧化还原反应,产生电流和水。在这个过程中,燃料电池的性能参数如输出电压、电流、功率等需要通过专门的测试设备进行......
  • 2024版最新渗透测试零基础入门教程,带你入门到精通(超详细),收藏这篇就够了
    一、渗透测试是什么?释义:我们理解的渗透测试是通过各种⼿段对⽬标进⾏⼀次渗透(攻击),通过渗透来测试⽬标的安全防护能⼒和安全防护意识。打个⽐⽅:⽐如电视剧《我是特种兵》⾥⾯的演习,特种部队(进攻⽅)渗透到蓝军(防守⽅)的指挥部进⾏斩⾸,如果斩⾸成功,那么就可以知道蓝⽅的防守能......
  • Vuln靶场-tomato渗透测试报告
    一、测试环境1、系统环境渗透机:kali(192.168.245.134)渗透机:本机(192.168.245.1)靶 机:narak(192.168.245.176)2、使用工具/软件:Chrome(浏览器):访问网站namp:发现主机、扫描端口dirb:目录扫描ssh:用于进行ssh远程登录连接gcc:用于编译c语言python3:用于打开交互式pyth......
  • Vuln靶场- DC_1渗透测试报告
    一、测试环境1、系统环境渗透机:kali(192.168.245.134)渗透机:本机(192.168.245.1)靶 机:DC1(192.168.245.180)2、使用工具/软件:Chrome(浏览器):访问网站namp:发现主机、扫描端口wget:用于下载目标网站文件中国蚁剑:用于连接目标网站服务器的一句话木马nc:用于反弹连接she......
  • Vuln靶场- DC_2渗透测试报告
    一、测试环境1、系统环境渗透机:kali(192.168.245.134)渗透机:本机(192.168.245.1)靶 机:DC1(192.168.245.181)2、使用工具/软件:Chrome(浏览器):访问网站namp:发现主机、扫描端口gobuster:目录扫描wget:用于下载目标网站文件git:用于提取vi:用于逃逸rbash3、测试目的对D......
  • 渗透测试-Kioptix Level 1靶机getshell及提权教程
    声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!工具地址:通过网盘分享的文件:OSCP靶场链接:https:/......
  • 上机实验五:BP 神经网络算法实现与测试
    fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_split,cross_val_score,StratifiedKFoldfromsklearn.neural_networkimportMLPClassifierfromsklearn.metricsimportaccuracy_score,precision_score,recall_score,f1_scoreimportnum......