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常见操作相关推荐

  1. 路径,文件,目录,I/O常见操作汇总

    摘要:    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案 ...

  2. python字典操作添加_Python字典常见操作实例小结【定义、添加、删除、遍历】

    本文实例总结了python字典常见操作.分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合. #字典 键值对组合 alien_0 ={'color':'green', ...

  3. BOM,DOM常见操作和DHML

    BOM (Browser Object Model)浏览器对象模型,控制浏览器的一些行为 window对象 代表一个HTML文档 属性 页面导航的5个属性 self, parent, top, ope ...

  4. go语言笔记——切片函数常见操作,增删改查和搜索、排序

    7.6.6 搜索及排序切片和数组 标准库提供了 sort 包来实现常见的搜索和排序操作.您可以使用 sort 包中的函数 func Ints(a []int) 来实现对 int 类型的切片排序.例如  ...

  5. 在单链表写入一组数据代码_链表常见操作和15道常见面试题

    什么是单链表 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer),简单来说链表并不像数组那样 ...

  6. python基础实例-Python基础之字符串常见操作经典实例详解

    本文实例讲述了Python基础之字符串常见操作.分享给大家供大家参考,具体如下: 字符串基本操作 切片 # str[beg:end] # (下标从 0 开始)从下标为beg开始算起,切取到下标为 en ...

  7. C#路径/文件/目录/I/O常见操作汇总(一)

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题, 尽量提供一些解决方案,即使没有你想要的答案,也希望能提 ...

  8. python下selenium模拟浏览器常见操作

    本文主要记录下selenium的常见操作,如定位具体元素的不同方法.在具体元素内循环.提取文本等.具体代码如下: # -*- coding: utf-8 -*- ''' Created on 2019 ...

  9. Java数组常见操作

    Java数组常见操作 文章目录 Java数组常见操作 7.0 数组的遍历 1.使用foreach循环访问数组中每个元素. 2.使用简单的for循环(多层循环嵌套)来遍历数组. 7.1 数组长度 7.2 ...

最新文章

  1. pic16f630 c语言编程,PIC16f630简单练习程序
  2. golang error信息 转 字符串 x := fmt.Sprintf(“%s“, err)
  3. 数据结构思维 第六章 树的遍历
  4. UVA 725 Division(除法)
  5. uniapp uni.request GET方式请求,不能直接传数组解决方法
  6. 铜仁计算机专业学校,听说计算机专业的在本部啊 这是真的么
  7. 【POI1999codevs3634】积水,关于sunshine爷的NOIP(suan)水(ge)题(pi)赛
  8. OpenCv之图像形态学(笔记08)
  9. linux下的gdb调试
  10. openSSH离线升级(6.6->7.9),解决Linux安全漏洞(CVE-2018-15473)
  11. 大数据和人工智能将成消费金融主要驱动力
  12. centos6.5 安装svn可视化管理工具 if.svnadmin
  13. 驱动研究日记-内核同步
  14. 渗透测试工具Nmap从初级到高级
  15. 国内外各大免费搜索引擎、导航网址提交入口(转载)
  16. 随机森林的原理分析及Python代码实现
  17. dreamweaver cs4 css汉化补丁,dreamweaver cs4官方版
  18. 开源python语音识别_5 款不错的开源语音识别/语音文字转换系统
  19. 自费送苹果AirPods,机械键盘,10本书籍多重福利
  20. Batch Normalization (BN层)-----批归一化

热门文章

  1. 零基础学习AI也有快捷方式?一文帮你提升竞争力!
  2. 深度学习知识抽取:属性词、品牌词、物品词
  3. 2016-2018年机器学习大赛TOP开源作品汇总
  4. android simple-xml,使用Maven构建Android项目-dexer在simple-xml依赖项上失败
  5. python dicom放大_python3实现对dicom图像处理(图像呈现,缩放,平移)
  6. Java类变量和类方法详解
  7. loss函数之MultiLabelSoftMarginLoss
  8. linux程序运行段错误,Linux下的段错误产生的原因及调试方法
  9. 使用Android OpenGL ES 2.0绘图之一:搭建一个OpenGL ES环境
  10. redis映射的概念_在K8S上搭建Redis集群