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方案要好一些。
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&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&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)
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