centos activemq 集群配置 Networks of Brokers



1、安装JDK运行环境

1
2
3
4
5
6
7
8
9
10
11
12
13
  #cd /opt
  #wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz
  #tar zxvf jdk-8u112-linux-x64.tar.gz
  #vi /etc/profile       添加以下内容
  
export  JAVA_HOME= /opt/jdk-8u112
export  PATH=$JAVA_HOME /bin :$PATH
export  CLASSPATH=.:$JAVA_HOME /lib/dt .jar:$JAVA_HOME /lib/tools .jar
#source /etc/profile
#java -version
java version  "1.8.0_12"
Java(TM) SE Runtime Environment (build 1.8.0_12-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.12-b03, mixed mode)

二、安装配置activemq

在这里我们配置Networks of Brokers集群模式

activemq-1与activemq-2这二个broker就互为主备,发给你的消息会同步到我,发给我的消息也会同步到你,实现了HA,示意图如下:192.168.1.104:61616<-->192.168.1.105:61626

这种HA方案的优点是占用的节点数更少(只需要2个节点),而且2个broker都可以响应消息的接收与发送,性能比zookeeper方案要好一些。

wKiom1kVDY7CWEFEAAEQ1FH8mow454.png-wh_50



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#wget 
#tar -zxvf apache-activemq-5.14.5-bin.tar.gz
# vi conf/activemq.xml   192.168.1.104上进行配置(写入192.168.1.105:61626)
 
<beans
         xmlns= "http://www.springframework.org/schema/beans"
         xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http: //www .springframework.org /schema/beans  http: //www .springframework.org /schema/beans/spring-beans .xsd
   http: //activemq .apache.org /schema/core  http: //activemq .apache.org /schema/core/activemq-core .xsd">
 
   <bean class= "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
     <property name= "locations" >
       <value> file :${activemq.conf} /credentials .properties< /value >
     < /property >
   < /bean >
 
   <broker xmlns= "http://activemq.apache.org/schema/core"  brokerName= "activemq-1" >
     <networkConnectors>
       <networkConnector uri= "static:(tcp://192.168.1.105:61626)" />
     < /networkConnectors >
     <persistenceAdapter>
       <kahaDB directory= "${activemq.data}/kahadb" />
     < /persistenceAdapter >
     <transportConnectors>
       <transportConnector name= "openwire"
                           uri= "tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600" />
     < /transportConnectors >
   < /broker >
 
   < import  resource= "jetty.xml" />
< /beans >
 
同理,在192.168.1.105上配置(写入192.168.1.104:61616)
 
#vi conf/activemq.xml
<beans
         xmlns= "http://www.springframework.org/schema/beans"
         xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http: //www .springframework.org /schema/beans  http: //www .springframework.org /schema/beans/spring-beans .xsd
   http: //activemq .apache.org /schema/core  http: //activemq .apache.org /schema/core/activemq-core .xsd">
 
   <bean class= "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
     <property name= "locations" >
       <value> file :${activemq.conf} /credentials .properties< /value >
     < /property >
   < /bean >
 
   <broker xmlns= "http://activemq.apache.org/schema/core"  brokerName= "activemq-1" >
     <networkConnectors>
       <networkConnector uri= "static:(tcp://192.168.1.104:61616)" />
     < /networkConnectors >
     <persistenceAdapter>
       <kahaDB directory= "${activemq.data}/kahadb" />
     < /persistenceAdapter >
     <transportConnectors>
       <transportConnector name= "openwire"
                           uri= "tcp://0.0.0.0:61626?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600" />
     < /transportConnectors >
   < /broker >
 
   < import  resource= "jetty.xml" />
< /beans >

配置完后,我们分别启动,

1
2
3
4
5
# bin/activemq start
#tail -f data/activemq.log 查看日志  可以看到已经建立连接
 
2017-05-12 09:33:43,404 | INFO  | Establishing network connection from vm: //activemq-1 ?async= false &create= false  to tcp: //192 .168.1.105:61626 | 
org.apache.activemq.network.DiscoveryNetworkConnector | main


访问activemq 控制台

http://ip:8161/admin/   (默认的账号:admin 默认密码:admin)

wKioL1kVFpjiO6MzAADNJvaAl9Y601.png-wh_50

wKiom1kVFpiC4cxnAADDrCUyuoY129.png-wh_50


Producer与Consumer连接到activemq时,配置文件可以这么写:

1
2
3
4
5
6
7
8
9
<bean  id = "jmsFactory"  class= "org.apache.activemq.pool.PooledConnectionFactory"  destroy-method= "stop" >
     <property name= "connectionFactory" >
         <bean class= "org.apache.activemq.ActiveMQConnectionFactory" >
             <!--broker服务的地址-->
             <property name= "brokerURL"  value= "failover:(tcp://192.168.1.104:61616,tcp://192.168.1.105:61626)" />
             ...
         < /bean >
     < /property >
< /bean >

这种HA方案的优点是占用的节点数更少(只需要2个节点),而且2个broker都可以响应消息的接收与发送,性能比zookeeper方案要好一些。




本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1924888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值