码迷,mamicode.com
首页 > 其他好文 > 详细

zookeeper+activemq主备简单配置

时间:2015-07-21 19:04:27      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:activemq   zookeeper   集群   主备   

 硬件环境:
       三台linux服务器:192.168.2.13,192.168.2.15,192.168.2.16。
       推荐部署在三台机器上,都部署在一台机器还是会有单点故障,最少1G的内存就够了。


下载最新版本的zookeeper,apache-activemq(都是linux的64位,jdk什么的就不说了)

下面的配置三台机器基本都是一样,特别之处有备注,下面开始搭建。


1.新建文件夹 mqzk (可自己定义)
2.解压zookeeper,activmq到此目录。这里路径为:~/mqzk/zookeeper, ~/mqzk/activmq
3.配置zookeeper

        3.1 配置conf/zoo.cfg(zoo.cfg默认不存在的,需要把zoo_sample.cfg文件名称修改为zoo.cfg)

            打开zoo.cfg,修改dataDir=当前zookeeper的data文件夹目录(如果没有data文件夹,就创建一个)

            这里有三台zookeeper所以这里要配置下集群server,在zoo.cfg最后面添加三行:
                server.1=192.168.2.13:2888:3888 (本机ip)
                server.2=192.168.2.15:2888:3888 (第二台机ip)
                server.3=192.168.2.16:2888:3888 (第三台机ip)
            这里的三个server,对应着3台linux服务器(ok)。
         保存退出。

        3.2 进入 ~/mqzk/zookeeper/data文件夹,新建myid文件。打开myid文件,里面输入1保存退出。
                 输入1的原因是因为上面的server.1,所以这个值在3台zookeeper里是不一样的。

        3.3 到此配置结束。其他两台按照此配置就可以了。

        3.4 假设三台都配置好了,开始依次重启这3台服务器:进入zookeeper/bin目录,执行./zkServer.sh start 启动



4.配置activemq
    
     4.1 这里主要是配置activemq/confg目录下的activemq.xml文件,打开activemq.xml文件。
         找到  <broker xmlns="http://activemq.apache.org/schema/core" brokerName="panguixiangbroker" dataDirectory="${activemq.data}">
                将 brokerName的值改为自己需要的字符串(我这里是panguixiangbroker);
                 要特别注意这里,这个brokerName的值必须三台activemq一样(这样zookeeper才会认为是一个集群的)
     
     4.2 找到:
          <persistenceAdapter>
             <kahaDB directory="${activemq.data}/kahadb"/>
          </persistenceAdapter>

         改为:
          <persistenceAdapter>
            <replicatedLevelDB
               directory="${activemq.data}/leveldb"
               replicas="3"   <!--这里有三台所以就3了-->
               bind="tcp://0.0.0.0:0"
               zkAddress="192.168.2.13:2181,192.168.2.15:2181,192.168.2.16:2181"
               hostname="192.168.2.13"    <!--当前机器的ip-->
               zkPath="/activemq/leveldb-stores" sync="local_disk"/>   <!--这个是默认的不用改-->
           <!--<kahaDB directory="${activemq.data}/kahadb"/> -->
          </persistenceAdapter>

         保存退出

   其他两台active mq的配置类似。

   依次启动3台 activemq。(bin/linux-64/./activemq start)

在浏览器访问:http://192.168.2.13:8161,http://192.168.2.15:8161,http://192.168.2.16:8161 
  发现只有一台可以正常访问,这就对了。


然后在spring的jms配置文件里,引用集群mq,例如: failover:(tcp://192.168.2.13:61616, tcp://192.168.2.15:61616 , tcp://192.168.2.16:61616 ) 。


到此全部结束,当然这只是个简单的配置,更多配置参数请参考:

http://activemq.apache.org/replicated-leveldb-store.html

zookeeper有也有对外的api(java,ruby,python,php,等版本),可以根据业务需要开发适合直接的监控管理系统。
不在本文范围之类。

本文出自 “重新来学JAVA” 博客,请务必保留此出处http://3131854.blog.51cto.com/3121854/1676745

zookeeper+activemq主备简单配置

标签:activemq   zookeeper   集群   主备   

原文地址:http://3131854.blog.51cto.com/3121854/1676745

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!