activemq官网:http://activemq.apache.org/
单机版:下载,解压,就能跑了。
activeMq+zookeeper,实现主从结构。 ----------------------------------------------------- 只有一个是master,它提供服务,可以访问,其他两个是slave,待机,并从leader实时同步数据。 master挂了时,剩下两个通过zookeeper进行选举,选举出一个master,它启动服务。 leveldb是可复制数据库。 3台是最少的数量了,允许挂掉一个。 5台允许挂掉两个。 以此类推。 ----------------------------------------------------- 3台服务器: 192.168.1.116 192.168.1.117 192.168.1.118 每台服务器都执行以下3步。
(1)停止activemq 执行:cd /data/env/apache-activemq-5.12.0/bin 执行:./activemq stop 等待,直至命令结束,然后再执行./activemq stop 如果提示:ActiveMQ not running,表示activemq成功关闭。
(2)修改/data/env/apache-activemq-5.12.0/conf/activemq.xml文件
<persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter>
改为:
<persistenceAdapter> <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:0" zkAddress="192.168.1.116:2181,192.168.1.117:2181,192.168.1.118:2181" hostname="192.168.1.116" sync="local_disk" zkPath="/activemq/leveldb-stores" /> </persistenceAdapter>
zkAddress是zookeeper的地址。 hostname是本机地址,一定记得改啊。
(3)启动activemq 执行:cd /data/env/apache-activemq-5.12.0/bin 执行:./activemq start
(4)看看/data/env/apache-activemq-5.12.0/data/activemq.log文件, 可以看到一个是master,另两个是slave slave在不停的复制数据。
(5)访问url http://192.168.1.116:8161/admin/ http://192.168.1.117:8161/admin/ http://192.168.1.118:8161/admin/ 只有一个可以访问,那个就是master。
master挂掉时,大概需要5秒左右能自动切换吧。 判断master挂掉需要点时间,启动服务也需要点时间。 可以了~ -------------------------------------------
|