ActiveMQ常见操作
ActiveMQ的安装
1、下载安装包,建立activemq用户,安装
cd /opt/
wget http://apache.dataguru.cn/activemq/apache-activemq/5.7.0/apache-activemq-5.7.0-bin.tar.gz
adduser activemq
tar xvzf apache-activemq-5.7.0.tar.gzln -s apache-activemq-5.7.0 activemqchown -R activemq.activemq apache-activemq-5.7.0ln -sf /opt/activemq/bin/activemq /etc/init.d/update-rc.d activemq defaults
2. 生成并编辑配置文件 #
/etc/init.d/activemq setup /etc/default/activemq
chmod 600 /etc/default/activemq
chown activemq. /etc/default/activemq
mkdir /var/xxxx
vim /etc/default/activemq
add ACTIVEMQ_DATA="/var/xxxx" #the 7 line
add ACTIVEMQ_USER="activemq" #the 51 line
修改/etc/security/limits.conf文件,添加如下内容。
activemq - nofile 32768
activemq soft nproc 32000
activemq hard nproc 32000
3.JMX配置
vim /etc/default/activemqcancel note as follows
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"ACTIVEMQ_SUNJMX_CONTROL="--jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi --jmxuser admin --jmxpassword activemq"
add note as follows
#ACTIVEMQ_SUNJMX_CONTROL=""
Remarks modify jmxuser and jmxpassword,ensure /opt/activemq/conf/jmx.access file and /opt/activemq/conf/jmx.password file site the same.
Give jmx.* file permission as follows
chmod 600 /opt/activemq/conf/jmx.*
4.启动和停止activemq#
/etc/init.d/activemq start
/etc/init.d/activemq stop
5.访问activemq管理界面#
http://x.x.x.x:1161/
user:admin
pwd:admin
ActiveMQ复制至新环境
1、新建activemq账号并且禁止该账号远程登录
adduser activemqusermod -p '!' activemq
2、创建activemq的data目录并且修改目录的owner
mkdir -p /data/activemq/mkahadbchown activemq.activemq -R /data/activemq
3、从SL1上拷贝activemq 应用程序及配置文件至SL1,
scp -r /opt/apache-activemq-5.13.4 had@SL1:./scp /etc/default/activemq had@SL1:./
4、在SL1上用root用户拷贝至对应目录和软连接制作
mv /home/hadoop/apache-activemq-5.13.4 /opt/mv /home/hadoop/activemq /etc/default/chown activemq.activemq /etc/default/activemqcd /optchown activemq.activemq -R apache-activemq-5.13.4ln -s apache-activemq-5.13.4 activemqln -s /opt/activemq/bin/activemq /etc/init.d/activemq
5、设置activemq开机启动
update-rc.d activemq defaults
6、验证新环是否有jdk1.7的版本并且设置activemq 使用的jdk1.7版本
ll /usr/lib/jvm/total 139056drwxr-xr-x 6 root root 4096 1月 12 2017 ./drwxr-xr-x 82 root root 12288 12月 9 2016 ../lrwxrwxrwx 1 root root 20 10月 25 2012 java-1.6.0-openjdk-amd64 -> java-6-openjdk-amd64/-rw-r--r-- 1 root root 2387 4月 18 2014 .java-1.6.0-openjdk-amd64.jinfolrwxrwxrwx 1 root root 20 11月 19 2015 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64/-rw-r--r-- 1 root root 2439 11月 19 2015 .java-1.7.0-openjdk-amd64.jinfodrwxr-xr-x 7 root root 4096 7月 28 2014 java-6-openjdk-amd64/drwxr-xr-x 3 root root 4096 1月 21 2013 java-6-openjdk-common/drwxr-xr-x 5 root root 4096 12月 31 2015 java-7-openjdk-amd64/lrwxrwxrwx 1 root root 11 1月 12 2017 java-7-oracle -> jdk1.7.0_60/drwxr-xr-x 8 root root 4096 5月 8 2014 jdk1.7.0_60/
在启动脚本添加默认使用的jdk1.7版本
vim /etc/init.d/activemq添加jdk1.7JAVA_HOMEexport JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
7、启动activemq 验证是否启动正常
启动详情如下
:~# service activemq startINFO: Loading '/etc/default/activemq'INFO: Using java '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get detailsINFO: changing to user 'activemq' to invoke javaINFO: pidfile created : '/opt/apache-activemq-5.13.4//data/activemq.pid' (pid '11611')
8、验证进程使用的jdk版本及内存大小
top -cu activemqPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 11611 activemq 20 0 36.9g 344m 14m S 1 0.1 0:08.92 /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Xmx32g -Xmn8g -XX:+UseMembar -XX:MaxDirectMemorySize=32G -XX:+UseParNewGC -XX:+UseConcMarkSweepG
9、验证activemq数据目录是否有文件创建
ll /data/activemq/mkahadb/total 16drwxr-xr-x 3 activemq activemq 4096 8月 21 16:33 ./drwxr-xr-x 3 activemq activemq 4096 8月 21 15:28 ../-rw-rw-r-- 1 activemq activemq 8 8月 22 11:40 lockdrwxrwxr-x 2 activemq activemq 4096 8月 21 16:33 txStore/
10、验证activemq日志是否正常
SL1:/opt/activemq/data# tail activemq.log
2017-08-22 11:40:10,766 | INFO | Listening for connections at: nio://hdmaster:61618?maximumConnections=10000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2017-08-22 11:40:10,777 | INFO | Connector nio started | org.apache.activemq.broker.TransportConnector | main
2017-08-22 11:40:10,787 | INFO | Apache ActiveMQ 5.13.4 (localhost, ID:hdmaster-38990-1503373209612-0:1) started | org.apache.activemq.broker.BrokerService | main
2017-08-22 11:40:10,795 | INFO | For help or more information please see: http://activemq.apache.org | org.apache.activemq.broker.BrokerService | main
2017-08-22 11:40:11,624 | INFO | No Spring WebApplicationInitializer types detected on classpath | /admin | main
2017-08-22 11:40:11,882 | INFO | ActiveMQ WebConsole available at http://0.0.0.0:8161/ | org.apache.activemq.web.WebConsoleStarter | main
2017-08-22 11:40:11,883 | INFO | ActiveMQ Jolokia REST API available at http://0.0.0.0:8161/api/jolokia/ | org.apache.activemq.web.WebConsoleStarter | main
2017-08-22 11:40:11,933 | INFO | Initializing Spring FrameworkServlet 'dispatcher' | /admin | main
2017-08-22 11:40:12,263 | INFO | No Spring WebApplicationInitializer types detected on classpath | /api | main
2017-08-22 11:40:12,306 | INFO | jolokia-agent: Using policy access restrictor classpath:/jolokia-access.xml | /api | main
11、验证端口是否开启及url是否可以访问
LS1:/opt/activemq/data# netstat -tnpl|egrep '8161|61616|61618'
tcp6 0 0 :::61616 :::* LISTEN 11611/java
tcp6 0 0 :::61618 :::* LISTEN 11611/java
tcp6 0 0 :::8161 :::* LISTEN 11611/java http://192.106.100.412:1161/admin/index.jsp
如以上验证都无误,本次复制即为成功复制。
activemq迁移步骤
生产环境activemq迁移大致步骤如下:
1、确认各项目中配置的amq地址,是配置的IP地址(备注:100.1)还是短域名(备注:qq),以邮件的形式向大家确认,统一使用短域名qq;
2、先修改外网公网域名www.qq.com域名解析至新amq所在服务器的ip地址 (中午修改公网dns解析);
3、待公网dns在所有采集器解析生效后,查看新的mq地址所有生产者是否都过来了;
4、重新启动所有采集器,释放老的mq地址链接,去链接新的mq地址;该
5、观察新旧mq地址里面的队列信息变化;
6、与研发确认,何时解析服务器内部amq解析至hdmaster(备注:确认迁移后丢失的队列信息是否有影响);
7、通知对应同步程序、应用程序,对应服务调用mq地址都需要重新启动来获取新mq地址;
8、迁移activemq相关监控程序至hdmaster上和新建grafana画图中对应监控指标(备:之前的继续保留,用于对比观察,待没数据了再删除)。
ActiveMQ升级
分步指南
原则上使用root进行升级操作。ActiveMQ运行时会使用activemq这个用户
1、下载ActiveMQ的linux发布包,例如:apache-activemq-5.10.0-bin.tar.gz
2、解压到/opt目录下,新的ActiveMQ会在apache-activemq-5.10.0这个目录下,修改这个目录的拥有者为activemq,并限制jmx.password文件的权限。然后复制老版本的配置文件
cd /opt
tar xzf [xxx]/apache-activemq-5.10.0-bin.tar.gz
chown -R activemq.activemq apache-activemq-5.10.0
cd apache-activemq-5.10.0/conf
chmod 600 jmx.password
mv activemq.xml activemq.xml.bak
cp -p /opt/activemq/conf/activemq.xml activemq.xml
mv log4j.properties log4j.properties.bak
cp -p /opt/activemq/conf/log4j.properties log4j.properties
3、停止当前运行的老版本ActiveMQ
service activemq stop
4、将/opt/ativemq的符号链接指向新版本
cd /opt
rm activemq
ln -s apache-activemq-5.10.0 activemq
5、启动ActiveMQ,由于符号链接已经指向新版本,这时候启动的将会是新版本的ActiveMQ
service activemq start
有时候,版本升级可能会涉及到ActiveMQ的db的兼容问题,这时候,可以删除老的数据,例如kahadb下所有文件。
ActiveMQ常见操作相关推荐
- 路径,文件,目录,I/O常见操作汇总
摘要: 文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案 ...
- python字典操作添加_Python字典常见操作实例小结【定义、添加、删除、遍历】
本文实例总结了python字典常见操作.分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合. #字典 键值对组合 alien_0 ={'color':'green', ...
- BOM,DOM常见操作和DHML
BOM (Browser Object Model)浏览器对象模型,控制浏览器的一些行为 window对象 代表一个HTML文档 属性 页面导航的5个属性 self, parent, top, ope ...
- go语言笔记——切片函数常见操作,增删改查和搜索、排序
7.6.6 搜索及排序切片和数组 标准库提供了 sort 包来实现常见的搜索和排序操作.您可以使用 sort 包中的函数 func Ints(a []int) 来实现对 int 类型的切片排序.例如 ...
- 在单链表写入一组数据代码_链表常见操作和15道常见面试题
什么是单链表 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer),简单来说链表并不像数组那样 ...
- python基础实例-Python基础之字符串常见操作经典实例详解
本文实例讲述了Python基础之字符串常见操作.分享给大家供大家参考,具体如下: 字符串基本操作 切片 # str[beg:end] # (下标从 0 开始)从下标为beg开始算起,切取到下标为 en ...
- C#路径/文件/目录/I/O常见操作汇总(一)
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题, 尽量提供一些解决方案,即使没有你想要的答案,也希望能提 ...
- python下selenium模拟浏览器常见操作
本文主要记录下selenium的常见操作,如定位具体元素的不同方法.在具体元素内循环.提取文本等.具体代码如下: # -*- coding: utf-8 -*- ''' Created on 2019 ...
- Java数组常见操作
Java数组常见操作 文章目录 Java数组常见操作 7.0 数组的遍历 1.使用foreach循环访问数组中每个元素. 2.使用简单的for循环(多层循环嵌套)来遍历数组. 7.1 数组长度 7.2 ...
最新文章
- pic16f630 c语言编程,PIC16f630简单练习程序
- golang error信息 转 字符串 x := fmt.Sprintf(“%s“, err)
- 数据结构思维 第六章 树的遍历
- UVA 725 Division(除法)
- uniapp uni.request GET方式请求,不能直接传数组解决方法
- 铜仁计算机专业学校,听说计算机专业的在本部啊 这是真的么
- 【POI1999codevs3634】积水,关于sunshine爷的NOIP(suan)水(ge)题(pi)赛
- OpenCv之图像形态学(笔记08)
- linux下的gdb调试
- openSSH离线升级(6.6->7.9),解决Linux安全漏洞(CVE-2018-15473)
- 大数据和人工智能将成消费金融主要驱动力
- centos6.5 安装svn可视化管理工具 if.svnadmin
- 驱动研究日记-内核同步
- 渗透测试工具Nmap从初级到高级
- 国内外各大免费搜索引擎、导航网址提交入口(转载)
- 随机森林的原理分析及Python代码实现
- dreamweaver cs4 css汉化补丁,dreamweaver cs4官方版
- 开源python语音识别_5 款不错的开源语音识别/语音文字转换系统
- 自费送苹果AirPods,机械键盘,10本书籍多重福利
- Batch Normalization (BN层)-----批归一化
热门文章
- 零基础学习AI也有快捷方式?一文帮你提升竞争力!
- 深度学习知识抽取:属性词、品牌词、物品词
- 2016-2018年机器学习大赛TOP开源作品汇总
- android simple-xml,使用Maven构建Android项目-dexer在simple-xml依赖项上失败
- python dicom放大_python3实现对dicom图像处理(图像呈现,缩放,平移)
- Java类变量和类方法详解
- loss函数之MultiLabelSoftMarginLoss
- linux程序运行段错误,Linux下的段错误产生的原因及调试方法
- 使用Android OpenGL ES 2.0绘图之一:搭建一个OpenGL ES环境
- redis映射的概念_在K8S上搭建Redis集群