Rainie999 发表于 2019-1-8 08:01:45

zookeeper+activemq主备简单配置

   硬件环境:
       三台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文件。
         找到
                将 brokerName的值改为自己需要的字符串(我这里是panguixiangbroker);
               要特别注意这里,这个brokerName的值必须三台activemq一样(这样zookeeper才会认为是一个集群的)
   
   4.2 找到:
         
            
         

         改为:
         
            
               zkPath="/activemq/leveldb-stores" sync="local_disk"/>   
         
         

         保存退出

   其他两台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,等版本),可以根据业务需要开发适合直接的监控管理系统。
不在本文范围之类。



页: [1]
查看完整版本: zookeeper+activemq主备简单配置