版本关系说明:JDK8环境只能安装5.2及以下的。超过5.2需要JDK9及以上版本环境。
(1)官网下载安装包
选择一个版本进行下载,
(2)解压安装包
下载完成之后解压
下载后直接解压缩直接就能用(免安装)。
(3)启动activemq
进入bin目录
部分版本有64 以及 32两个不同的启动目录,根据自己电脑的位数进行选择。当前我的版本没有64位的目录,也就是说外层的目录就是64位的,如果是32位系统点击进入 win32 目录进行启动。
点击 activemq.bat 启动:
或者在 cmd 命令行界面用全路径启动:
D:\softwareTest\activemq\apache-activemq-5.2.0\bin\activemq.bat
在浏览器访问http://localhost:8161/admin/,输入默认的用户名和密码admin/admin,即可看到管理台页面。
可以看到一些相应的名词
官网提供的集群原理图:
基于ZK的集群,Activemq版本必须是5.8及以上版本。
5.9.0 新推出的主从实现,基于zookeeper来选举出一个master,其他节点自动作为slave实时同步消息。因为有实时同步数据的slave的存在,master不用担心数据丢失,所以leveldb会优先采用内存存储消息,异步同步到磁盘。所以该方式的activeMQ读写性能都最好,特别是写性能能够媲美非持久化消息。
由于Activemq 依赖于Zk,因此搭建Activemq 环境需先搭建Zk集群环境。
主机 | Activemq ip | ZK IP |
主机一 | 172.29.176.1:8161 | 172.29.176.1:2181 |
主机二 | 172.29.176.1:8162 | 172.29.176.1:2182 |
主机三 | 172.29.176.1:8163 | 172.29.176.1:2183 |
(1)上传zookeepe压缩包,并解压:
下载安装包并解压到工作目录
进入到 conf 目录,看到 zoo_sample.cfg 文件,cp 复制生成 zoo.cfg 文件,如下:
cp conf/zoo_sample.cfg conf/zoo.cfg
(3)创建data目录,并新建myid用于集群服务,里面内容填写当前主机id,我是三台服务器的集群,id分别为1,2,3
(4)将zookeeper/conf下的zoo_sample.cfg重命名为zoo.cfg
修改内容:
- #这个地方的路径就是上面创建data文件夹的地址。根据自己的实际地址填写。
- dataDir=E:\\DEV\\DEV\\Zookeeper\\zookeeper-node1\\data
- #日志路径
- dataLogDir=E:\\DEV\\DEV\\Zookeeper\\zookeeper-node1\\log
并在文本最后添加节点信息:
- server.1=172.29.176.1:2887:3887
- server.2=172.29.176.1:2888:3888
- server.3=172.29.176.1:2889:3889
节点信息里的 “server.”后面的数字就是约定该服务器的主机id。必须一致,不然集群启动会失败。
(5)启动zookeeper
- E:\DEV\DEV\Zookeeper\zookeeper-node1\bin\zkServer.cmd
-
- E:\DEV\DEV\Zookeeper\zookeeper-node2\bin\zkServer.cmd
-
- E:\DEV\DEV\Zookeeper\zookeeper-node3\bin\zkServer.cmd
(7)172.29.176.1:2181 配置:
- # The number of milliseconds of each tick
- tickTime=2000
- # The number of ticks that the initial
- # synchronization phase can take
- init