首先搭建zookeeper集群:

参考URL:  http://www.cnblogs.com/feiyun126/p/7244394.html

三台服务器:先设置hosts
10.0.0.231  node1
10.0.0.232  node2
10.0.0.233  node3

 

1:下载apache-activemq-5.15.0-bin.tar.gz
2:解压apache-activemq-5.15.0-bin.tar.gz到/usr/local目录
3:创建软链接 ln -s apache-activemq-5.15.0 activemq
4: 修改conf/activemq.xml文件
   1):修改  brokerName,名字随意
           <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">
       修改为:
            <broker xmlns="http://activemq.apache.org/schema/core" brokerName="myzly" dataDirectory="${activemq.data}">

   2):修改persistenceAdapter
       以下三行注释掉
        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"/>
        </persistenceAdapter>

       修改为:
       <persistenceAdapter>
            <replicatedLevelDB   
            directory="${activemq.data}/leveldb"  
            replicas="3"  
            bind="tcp://0.0.0.0:62621"  
            zkAddress="10.0.0.231:2181,10.0.0.231:2181,10.0.0.231:2181"  
            zkPassword=""  
            hostname="node1"  
            sync="local_disk"  
            zkPath="/activemq/leveldb-stores"/>
      </persistenceAdapter>
      
      zkAddress为zookeeper集群地址
      zkPassword没有填空
      hostname填写本机hostname或都填写本机地址
5:在bin目录下启动 ./activemq start

6:三台主机配制相同,只是hostname配制本机对应hostname或ip地址

调用时url配制:failover://(tcp://10.0.0.231:61616,tcp://10.0.0.232:61616,tcp://10.0.0.233:61616)?initialReconnectDelay=1000

7:测试

      http://10.0.0.231:8161/admin/queues.jsp
      http://10.0.0.232:8161/admin/queues.jsp
      http://10.0.0.233:8161/admin/queues.jsp
      因为使用zookeeper做负载均衡,
      三台只有一台是master,其他两台处于等待状态,
      所以只有其中一台提供服务,
      但一旦这台服务器宕机以后,会有另外一台顶替上来,
      所以其他几个ip地址是打不开的,只有一台能打开

8:设置activemq开机启动

1) 切换到/etc/rc.d/init.d/目录下
2) 创建activemq文件:touch activemq
3) 更新权限:chmod +x activemq
4) 编辑文件,在activemq里面输入如下内容

    #!/bin/bash
    #chkconfig:345 63 37
    #description:activemq
    #processname:activemq
    export JAVA_HOME=/usr/local/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    case $1 in
         start) /usr/local/activemq/bin/activemq start;;
         stop) /usr/local/activemq/bin/activemq stop;;
         status) /usr/local/activemq/bin/activemq status;;
         restart) /usr/local/activemq/bin/activemq restart;;
         kill) /usr/local/activemq/bin/activemq kill;;
         *)  echo "require start|stop|status|restart"  ;;
    esac

5) chkconfig activemq on
6) 验证
chkconfig --add activemq 把activemq添加到开机启动里面
chkconfig --list activemq 查看是否添加的activemq到开机启动

 

posted on 2017-07-27 14:17  网络终结者  阅读(318)  评论(0编辑  收藏  举报