安装准备
zookeeper集群安装 参考上篇zk集群环境搭建:https://blog.csdn.net/sinat_15946141/article/details/102418095
Zookeeper架构
节点 | 服务 | 目录 |
192.168.100.12:2182 | zookeeper1 | /usr/local/zookeeper-cluster1 |
192.168.100.13:2183 | zookeeper2 | /usr/local/zookeeper-cluster2 |
192.168.100.14:2184 | zookeeper3 | /usr/local/zookeeper-cluster |
ActiveMQ架构
节点 | 消息端口 | jett管控台端口 | 安装目录 |
192.168.100.12:62621 | 51511 | 8161 | /usr/local/activemq-cluster1 |
192.168.100.13:62622 | 51512 | 8162 | /usr/local/activemq-cluster2 |
192.168.100.14:62623 | 51513 | 8163 | /usr/local/activemq-cluster3 |
安装ActiveMq
服务器:192.168.100.12 MQ部署和配置:
#下载activemq
wget 官方地址
#解压安装包,解压到/usr/local/activemq-cluster1目录,注意-C是大写的
tar -zxvf apache-activemq-5.11.1-bin.tar.gz -C /usr/local/activemq-cluster1/
#修改jetty
vim /usr/local/activemq-cluster1/apache-activemq-5.11.1/conf/jetty.xml
#103行 左右,修改 端口 ,同样其他几个节点也修改
<property name="port" value="8161"/>
-------------------------------------------------------------
#修改brokername
#不要忘了,3个MQ实例的brokerName必须一致,要不然你会在集群启动时出现:
#Not enough cluster members when using LevelDB replication
#这样的错误。
vim /usr/local/activemq-cluster1/apache-activemq-5.11.1/conf/activemq.xml
#40 行左右 brokerName
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
#修改persistenceAdapter
#参数说明
# replicas 节点数
# bind 绑定端口号
# zkAddress zookeeeper的集群 ip
# hostname 主机名称,一般配置主机的ip
# zkPath 在zookeeepr上存储的地址
# zkPassword zk密码,一般不配置
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62621"
zkAddress="192.168.100.12:2182,192.168.100.13:2183,192.168.100.14:2184"
zkPassword=""
hostname="192.168.100.12"
zkPath="/activemq/leveldb-stores"
/>
#修改该通信端口51511 修改为指定端口
<transportConnector name="openwire" uri="tcp://0.0.0.0:51511?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
服务器:192.168.100.13 MQ部署和配置:
#解压安装包,解压到/usr/local/activemq-cluster2目录,注意-C是大写的
tar -zxvf apache-activemq-5.11.1-bin.tar.gz -C /usr/local/activemq-cluster2/
#修改jetty
vim /usr/local/activemq-cluster2/apache-activemq-5.11.1/conf/jetty.xml
#103行 左右,修改 端口 ,同样其他几个节点也修改
<property name="port" value="8162"/>
-------------------------------------------------------------
#修改brokername
#不要忘了,3个MQ实例的brokerName必须一致,要不然你会在集群启动时出现:
#Not enough cluster members when using LevelDB replication
#这样的错误。
vim /usr/local/activemq-cluster2/apache-activemq-5.11.1/conf/activemq.xml
#40 行左右 brokerName
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
#修改persistenceAdapter
#参数说明
# replicas 节点数
# bind 绑定端口号
# zkAddress zookeeeper的集群 ip
# hostname 主机名称,一般配置主机的ip
# zkPath 在zookeeepr上存储的地址
# zkPassword zk密码,一般不配置
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62622"
zkAddress="192.168.100.12:2182,192.168.100.13:2183,192.168.100.14:2184"
zkPassword=""
hostname="192.168.100.13"
zkPath="/activemq/leveldb-stores"
/>
#修改该通信端口51511 修改为指定端口
<transportConnector name="openwire" uri="tcp://0.0.0.0:51512?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
服务器:192.168.100.14 MQ部署和配置
#解压安装包,解压到/usr/local/activemq-cluster3目录,注意-C是大写的
tar -zxvf apache-activemq-5.11.1-bin.tar.gz -C /usr/local/activemq-cluster3/
#修改jetty
vim /usr/local/activemq-cluster3/apache-activemq-5.11.1/conf/jetty.xml
#103行 左右,修改 端口 ,同样其他几个节点也修改
<property name="port" value="8163"/>
-------------------------------------------------------------
#修改brokername
#不要忘了,3个MQ实例的brokerName必须一致,要不然你会在集群启动时出现:
#Not enough cluster members when using LevelDB replication
#这样的错误。
vim /usr/local/activemq-cluster3/apache-activemq-5.11.1/conf/activemq.xml
#40 行左右 brokerName
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
#修改persistenceAdapter
#参数说明
# replicas 节点数
# bind 绑定端口号
# zkAddress zookeeeper的集群 ip
# hostname 主机名称,一般配置主机的ip
# zkPath 在zookeeepr上存储的地址
# zkPassword zk密码,一般不配置
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62623"
zkAddress="192.168.100.12:2182,192.168.100.13:2183,192.168.100.14:2184"
zkPassword=""
hostname="192.168.100.14"
zkPath="/activemq/leveldb-stores"
/>
#修改该通信端口51511 修改为指定端口
<transportConnector name="openwire" uri="tcp://0.0.0.0:51513?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
启动服务
#启动服务
/usr/local/activemq-cluster1/apache-activemq-5.11.1/bin/activemq start
/usr/local/activemq-cluster2/apache-activemq-5.11.1/bin/activemq start
/usr/local/activemq-cluster3/apache-activemq-5.11.1/bin/activemq start
#停止服务
/usr/local/activemq-cluster1/apache-activemq-5.11.1/bin/activemq stop
/usr/local/activemq-cluster2/apache-activemq-5.11.1/bin/activemq stop
/usr/local/activemq-cluster3/apache-activemq-5.11.1/bin/activemq stop
#查看日志
tail -f /usr/local/activemq-cluster1/apache-activemq-5.11.1/data/activemq.log
tail -f /usr/local/activemq-cluster2/apache-activemq-5.11.1/data/activemq.log
tail -f /usr/local/activemq-cluster3/apache-activemq-5.11.1/data/activemq.log
#连接zookeeper任意一个节点,查看节点信息
zookeeper/zookeeper1/zookeeper-3.4.10/bin/zkCli.sh -server 192.168.100.12:2182
查看节点信息如下:
[zk: localhost:2185(CONNECTED) 9] ls /
[activemq, dubbo, zookeeper, data, data2]
[zk: localhost:2185(CONNECTED) 10] ls /activemq
[leveldb-stores]
[zk: localhost:2185(CONNECTED) 11] ls /activemq/leveldb-stores
[00000000017, 00000000018, 00000000016]
注意:防火墙如果开启,还要配置对应策略
项目的集群配置:
broker-url: failover:(tcp://192.168.100.12:51511,tcp://192.168.100.13:51512,tcp://192.168.100.14:51513)?Randomize=false
registry:
address:192.168.100.12:2182,192.168.100.13:2183,192.168.100.14:62623
protocol:zookeeper