(22)activeMQ部署
activeMQ集群部署:
 前言:从ActiveMQ 5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式,
 增加了基于ZooKeeper + LevelDB的Master-Slave实现方式,其他两种方式目录共享和数据库共享依然存在。
25.213.39.177
 25.213.39.97
 25.213.39.86
 主机           集群端口     消息端口          管控台端口    节点安装目录
 25.213.39.177    62621      51511                8161        /home/hk/activemq/node-01
 25.213.39.97    62622      51512                8162        /home/hk/activemq/node-02
 25.213.39.86    62623      51513                8163        /home/hk/activemq/node-03
Node-01中的持久化配置:
 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="DubboEdu" dataDirectory="${activemq.data}">
     <persistenceAdapter>
         <!-- kahaDB directory="${activemq.data}/kahadb"/ -->
     <replicatedLevelDB
         directory="${activemq.data}/leveldb"
         replicas="3"
         bind="tcp://0.0.0.0:62621"
         zkAddress="192.168.0.222:2181,192.168.0.223:2182,192.168.0.224:2183"
         hostname="edu-zk-01"
         zkPath="/activemq/leveldb-stores"
     />
     </persistenceAdapter>
 </broker>
Node-02中的持久化配置:
 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="DubboEdu" dataDirectory="${activemq.data}">
     <persistenceAdapter>
         <!-- kahaDB directory="${activemq.data}/kahadb"/ -->
         <replicatedLevelDB
             directory="${activemq.data}/leveldb"
             replicas="3"
             bind="tcp://0.0.0.0:62622"
             zkAddress="192.168.0.222:2181,192.168.0.223:2182,192.168.0.224:2183"
             hostname="edu-zk-02"
             zkPath="/activemq/leveldb-stores"
           />
     </persistenceAdapter>
 </broker>
Node-03中的持久化配置:
 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="DubboEdu" dataDirectory="${activemq.data}">
     <persistenceAdapter>
         <!-- kahaDB directory="${activemq.data}/kahadb"/ -->
         <replicatedLevelDB
             directory="${activemq.data}/leveldb"
             replicas="3"
             bind="tcp://0.0.0.0:62623"
             zkAddress="192.168.0.222:2181,192.168.0.223:2182,192.168.0.224:2183"
             hostname="edu-zk-03"
             zkPath="/activemq/leveldb-stores"
         />
     </persistenceAdapter>
 </broker>
修改各节点的消息端口[openwire](注意,避免端口冲突):
 Node-01中的消息端口配置:
 <transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:51511?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
 </transportConnectors>
 Node-02中的消息端口配置:
 <transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:51512?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
 </transportConnectors>
Node-03中的消息端口配置:
 <transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:51513?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
 </transportConnectors>
7、按顺序启动3个ActiveMQ节点:
 $ /home/hk/activemq/node-01/bin/activemq start
 $ /home/hk/activemq/node-02/bin/activemq start
 $ /home/hk/activemq/node-03/bin/activemq start
 监听日志:
 $ tail -f /home/hk/activemq/node-01/data/activemq.log
 $ tail -f /home/hk/activemq/node-02/data/activemq.log
 $ tail -f /home/hk/activemq/node-03/data/activemq.log
8、集群的节点状态分析:
