centos7安装activeMq - 转载自简书

helloworld_46188038
• 阅读 1768

本文转自 https://www.jianshu.com/p/8c3cc95f16c2,如有侵权,请联系删除。

[TOC]

1 场景

1.1 目标

centos7安装acitveMq。

1.2 版本

Linux系统版本:centos7.3.1611

JDK版本:1.8.0_121

acitveMq版本5.16.0

1.3 文档

http://activemq.apache.org/components/classic/documentation

2 部署

2.1 依赖环境

activeMq依赖JDK环境。JDK安装过程,参照:https://www.jianshu.com/p/0b9467edf04d

2.2 下载

下载并命名文件为:apache-activemq-5.16.0-bin.tar.gz

wget https://archive.apache.org/dist/activemq/5.16.0/apache-activemq-5.16.0-bin.tar.gz

2.3 解压

tar -xzvf apache-activemq-5.16.0-bin.tar.gz -C /opt 

解压后文件路径如下:

/opt/apache-activemq-5.16.0 

2.4 访问配置

2.4.1 管理页面配置

默认http端口8161

此处配置activeMq后台管理页面的相关配置,可配置访问的host和端口。必须要进行HOST配置,否则其他服务器无法访问此后台网页。

打开配置文件:

vim /opt/apache-activemq-5.16.0/conf/jetty.xml 

编辑如下配置:

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
    <!-- the default port number for the web console -->
    <property name="host" value="127.0.0.1"/>
    <property name="port" value="8161"/>
</bean> 

(1)更改host(必须)

打开配置文件:

需要更改host配置为0.0.0.0当前服务器的实际IP,此处的配置为必须进行的配置

(2)更改端口(非必须)

可根据实际情况,更改端口,或采用默认端口8161

2.4.2 消息端口配置

默认tcp端口61616

此处配置activeMq的访问端口配置,用来和程序进行交互,接收消息等。

如需要修改activeMq的tcp访问端口,可进行如下配置(非必须):

打开配置文件:

vim /opt/apache-activemq-5.16.0/conf/activemq.xml 

找到如下配置:

<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 

将61616端口,修改为自己的端口即可(非必须)。

2.5 用户配置

2.5.1 管理页面用户配置

管理页面户名、密码、角色信息在此处配置。

默认管理员,用户名、密码:admin/admin

默认普通用户,用户名、密码:user/user

打开配置文件jetty-realm.properties

vim /opt/apache-activemq-5.16.0/conf/jetty-realm.properties 

文件内容如下:

# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
admin: admin, admin
user: user, user 

如文件内容所示,配置信息,内容格式如下:

用户名: 密码, 角色 

如新增一个用户(用户名:yjpdd,密码:jypddpwd,角色:user),则新增配置如下:

yjpdd: jypddpwd, user 
2.5.2 消息端口用户配置

tcp消息访问端口(发送、)户名、密码信息在此处配置。

默认用户名、密码:admin/admin

打开配置文件users.properties

vim /opt/apache-activemq-5.16.0/conf/users.properties 

文件内容如下:

admin=admin 

如文件所示,配置的信息,内容格式如下:

用户名=密码 

如新增一个用户(用户名:yjpddport,密码:jypddportpwd),则新增配置如下:

yjpddport=jypddportpwd 

2.6 启动命令

  • 启动
/opt/apache-activemq-5.16.0/bin/activemq start 
  • 关闭
/opt/apache-activemq-5.16.0/bin/activemq stop 

2.7 查看启动状态

查看后台管理页面

网页访问:http://192.168.1.11:8161
默认用户名:admin,默认密码:admin。用户信息可在2.4.1配置。

2.8 JVM参数配置

2.8.1 查看当前配置

activeMq运行环境依赖java环境,可配置对应的jvm参数,来进行参数调优。

可以再启动命令中查看当前activeMq的jvm参数,如下:

[root@master linux-x86-64]# ps -ef |grep activemq
root      7272     1 93 13:58 pts/0    00:00:11 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/apache-activemq-5.16.0//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/opt/apache-activemq-5.16.0//tmp -Dactivemq.classpath=/opt/apache-activemq-5.16.0//conf:/opt/apache-activemq-5.16.0//../lib/: -Dactivemq.home=/opt/apache-activemq-5.16.0/ -Dactivemq.base=/opt/apache-activemq-5.16.0/ -Dactivemq.conf=/opt/apache-activemq-5.16.0//conf -Dactivemq.data=/opt/apache-activemq-5.16.0//data -jar /opt/apache-activemq-5.16.0//bin/activemq.jar start 

可见队列的jvm堆内存配置为-Xms64M -Xmx1G

或者使用jconsole、jinfo查看activeMq的jvm相关信息:

Command line:  -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/apache-activemq-5.16.0//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/opt/apache-activemq-5.16.0//tmp -Dactivemq.classpath=/opt/apache-activemq-5.16.0//conf:/opt/apache-activemq-5.16.0//../lib/: -Dactivemq.home=/opt/apache-activemq-5.16.0/ -Dactivemq.base=/opt/apache-activemq-5.16.0/ -Dactivemq.conf=/opt/apache-activemq-5.16.0//conf -Dactivemq.data=/opt/apache-activemq-5.16.0//data 
2.8.2 更改配置文件

打开配置文件env

vim /opt/apache-activemq-5.16.0/bin/env 

修改其中的配置ACTIVEMQ_OPTS_MEMORY

# Set jvm memory configuration (minimal/maximum amount of memory)
ACTIVEMQ_OPTS_MEMORY="-Xms64M -Xmx1G" 

(1)配置堆内存

ACTIVEMQ_OPTS_MEMORY="-Xms512M -Xmx512M" 

(2)配置jxm监控

增加jxm监控参数配置,可用jprofile或jvisualVm等工具对activeMq进行监控:

-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 
2.8.3 补充

也可直接修改activemq命令文件,在文件头部的变量ACTIVEMQ_OPTS_MEMORYACTIVEMQ_OPTS配置JVM参数

如下:

ACTIVEMQ_OPTS_MEMORY="-Xms512M -Xmx512M" 

说明activemq启动命令中有如下注释,表示获取jvm参数的方式:

System variables for this script, like ACTIVEMQ_OPTS and ACTIVEMQ_OPTS_MEMORY,can be configured in 'env' script located in this directory.

2.9 JMmeter测试消息端口

默认用户名:admin,默认密码:admin。用户信息可在2.4.2配置。

将activeMq中根目录下的jar包activemq-all-5.16.0.jar,拷贝到jmeter的lib目录下apache-jmeter-5.4\lib,因为jemeter测试时用到activeMq的jms实现类

2.9.1 发布订阅模式

纠正:队列名称应该以Topic关键字来标注,以下测试配置,以Queue来标注不规范,读者需注意。

配置说明:

配置项 内容 说明
Initial Context Factory org.apache.activemq.jndi.ActiveMQInitialContextFactory
Connection Factory ConnectionFactory
Destination dynamicTopics/xxx dynamicTopics必须

(1)生产者

创建线程组

创建JMS Publisher

centos7安装activeMq - 转载自简书

1610860532936.png

(2)消费者

创建JMS Subscriber

centos7安装activeMq - 转载自简书

1610861086744.png

(3)查看结果

创建View Result Tree

2.9.2 队列模式

和发布订阅模式类似,区别为DestinationdynamicQueues/xxx

配置说明:

配置项 内容 说明
Connection Factory ConnectionFactory
Destination dynamicQueues/xxx dynamicQueues必须

(1)生产者

centos7安装activeMq - 转载自简书

1610862857445.png

(2)消费者

centos7安装activeMq - 转载自简书

1610862880699.png

(3)查看结果

创建View Result Tree

2.9.3 点对点模式

待完善


本文转自 https://www.jianshu.com/p/8c3cc95f16c2,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这