2019独角兽企业重金招聘Python工程师标准>>>

1. 服务器配置

推荐集群的数量为基数,并且在这些机器上安装JDK,配置环境变量。

2. 集群方式

常用的集群方式有三种:

  • 基于共享文件系统的集群(KahaDB,默认);
  • 基于JDBC的集群;
  • 基于可复制的LevelDB(推荐);

LevelDB 是 Google 开发的一套用于持久化数据的高性能类库。LevelDB 并不是一种服务,用户需要自
行实现 Server。是单进程的服务,能够处理十亿级别规模 Key-Value 型数据,占用内存小。

本次使用该方式配置activemq集群。

3. 目录配置

这次集群配置准备了三台计算机,将activemq安装到它们中,对端口和目录进行配置:

主机 集群端口 消息端口 管控台端口 activemq节点目录
192.168.240.132 62621 51511 8161 /opt/activemq-node-01
192.168.240.133 62622 51512 8162 /opt/activemq-node-02
192.168.240.134 62623 51513 8163 /opt/activemq-node-03

4. 配置防火墙

## 使用firewall命令配置防火墙端口firewall-cmd  --zone=public --add-port=xxxxx/tcp --permanent
firewall-cmd --reload

将三台机器所需的端口都配置到防火墙中。

5. 修改管控台端口

将三台机器的管控台端口修改一遍,文件位于conf/jetty.xml:

<!-- 192.168.240.132 -->
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> <!-- the default port number for the web console --> <property name="host" value="0.0.0.0"/> <property name="port" value="8161"/>
</bean><!-- 192.168.240.133 -->
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> <!-- the default port number for the web console --> <property name="host" value="0.0.0.0"/> <property name="port" value="8162"/>
</bean><!-- 192.168.240.134 -->
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> <!-- the default port number for the web console --> <property name="host" value="0.0.0.0"/> <property name="port" value="8163"/>
</bean>

6. 配置集群

配置三台机器的集群信息,文件位于conf/activemq.xml。

先配置集群的brokerName:

<!-- 三台机器broker节点的brokerName必须相同 --><broker xmlns="http://activemq.apache.org/schema/core" brokerName="ems" dataDirectory="${activemq.data}">

在配置集群方式,还在activemq.xml文件中,使用LevelDB:

<!-- 192.168.240.132 -->
<persistenceAdapter> <!-- kahaDB directory="${activemq.data}/kahadb"/ --> <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:62621" zkAddress="192.168.240.132:2181,192.168.240.133:2182,192.168.240.134:2183" hostname="server01" zkPath="/activemq/leveldb-stores" />
</persistenceAdapter><!-- 192.168.240.133 -->
<persistenceAdapter> <!-- kahaDB directory="${activemq.data}/kahadb"/ --> <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:62622" zkAddress="192.168.240.132:2181,192.168.240.133:2182,192.168.240.134:2183" hostname="server02" zkPath="/activemq/leveldb-stores" />
</persistenceAdapter><!-- 192.168.240.134 -->
<persistenceAdapter> <!-- kahaDB directory="${activemq.data}/kahadb"/ --> <replicatedLevelDB directory="${activemq.data}/leveldb" replicas="3" bind="tcp://0.0.0.0:62623" zkAddress="192.168.240.132:2181,192.168.240.133:2182,192.168.240.134:2183" hostname="server03" zkPath="/activemq/leveldb-stores" />
</persistenceAdapter>

replicatedLevelDB的属性含义如下:

  1. directory:leveldb目录;
  2. replicas:节点数量;
  3. binid:集群端口号;
  4. zkAddress:zookeeper集群地址;
  5. hostname:本机的hosts映射名;
  6. zkPath:集群数据仓库;

接着配置消息端口,还在activemq.xml文件中:

<!-- 192.168.240.132,端口设置撑51511 -->
<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&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors> <!-- 192.168.240.133,端口设置撑51512 -->
<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&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors> <!-- 192.168.240.134,端口设置撑51513 -->
<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&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors> 

7. 启动节点

按照顺序启动节点,启动后,可以使用ZooInspector查看,ZooInspector需要您的机器安装了JDK并配置了环境变量:

左侧activemq节点下有三个子节点,就是我们配置的三个集群节点了。

8. 使用程序访问集群

## MQ
mq.brokerURL=failover:(tcp://192.168.240.132:51511,tcp://192.168.240.133:51512,tcp://192.168.240.134:51513)?randomize=false
mq.userName=admin
mq.password=admin
mq.pool.maxConnections=10
#queueName
queueName=energyConsumptionData

通过失败转移策略failover,配置三个集群的IP地址。

9. 使用该方法需要注意的事情

请使用者注意。replicatedLevelDB 不支持延迟或者计划任务消息。这些消息存储在另外的 LevelDB 文件中,如果使用延迟或者计划任务消息,将不会复制到 slave Broker 上,不能实现消息的高可用。

这种配置方式也不支持负载均衡。

转载于:https://my.oschina.net/u/2450666/blog/834234

ActiveMQ — 集群 — 安装与配置相关推荐

  1. 基于zookeeper(集群)+LevelDB的ActiveMq高可用集群安装、配置、测试

    Linux 环境 zookeeper集群安装.配置.测试https://blog.csdn.net/weixin_40816738/article/details/100576259 MQ集群部署规划 ...

  2. Hadoop集群安装及其配置(三台虚拟机)

    Hadoop集群安装及其配置(三台虚拟机) 利安装配置前准备--安装虚拟机 利用cat查看配置文件 修改主机名称 配置IP映射 配置网卡设备的mac地址 Xshell的安装与配置 ssh的配置 JDK ...

  3. JMS之——ActiveMQ 高可用与负载均衡集群安装、配置(ZooKeeper + LevelDB + Static discovery)...

    一.说明 从 ActiveMQ 5.9 开始, ActiveMQ 的集群实现方式取消了传统的 Master-Slave 方式,增加了基于ZooKeeper + LevelDB 的 Master-Sla ...

  4. KafKa集群安装、配置

    一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...

  5. Hadoop集群安装与配置

    转载自Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否则请先查看Had ...

  6. hadoop2.8配置_Hadoop 2.8集群安装及配置记录

    第一部分:环境配置(含操作系统.防火墙.SSH.JAVA安装等) Hadoop 2.8集群安装模拟环境为: 主机:Hostname:Hadoop-host,IP:10.10.11.225 节点1:Ho ...

  7. zookeeper集群安装和配置解读 - 雨中散步撒哈拉

    一.集群安装 0.环境准备 1.下载好的zk进行解压 2.创建数据和日志目录 3.修改配置 4.分发到集群节点 5.分别添加id 6.添加环境变量 二.集群常用命令 2.2.1 启动客户端 2.2.2 ...

  8. MongoDB的集群安装搭建配置

    1. MongoDB介绍 1.1.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.具有以下特点: 面向集合文档型存储,易于存储对象类型的数据, 以 ...

  9. FastDFS分布式文件系统集群安装与配置

    原文链接:http://blog.csdn.net/xyang81/article/details/52928230 FastDFS集群规划 跟踪服务器负载均衡节点1:192.168.1.206 df ...

最新文章

  1. DateTime时间格式转换为Unix时间戳格式
  2. setAttibute和getParameter的区别
  3. c++缓冲区buffer
  4. POJ2431贪心(最少加油次数)
  5. jQuery将不再支持IE6/7/8
  6. SAP复合角色更改后扩展到派生节点
  7. 【数据结构与算法】之深入解析“罗马数字转整数”的求解思路与算法示例
  8. hihoCoder #1143 : 骨牌覆盖问题·一
  9. 怎么把kux格式转换成mp4?完美转换优酷kux格式
  10. 生而神灵,弱而能言,幼而徇齐,长而敦敏,成而聪明
  11. 父级fixed_CSS-应用position:fixed时是否可以保持父元素的宽度?
  12. 毛细血管瘤的一般常识
  13. 高级WEB前端游戏开发视频教程
  14. SQL Server Group by
  15. 大文件数据恢复-轻松恢复大于4GB的文件
  16. 国内外电子合同运用的差异
  17. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一2.9 疏密相间构图法
  18. 图片文字翻译的软件有哪些?快收藏这几款实用的软件
  19. CTFHub 工控组态分析 WP
  20. 开源云计算厂商:浅析渠道激活平台的打造

热门文章

  1. 空缺十年,百度再任命CTO!加盟十年,王海峰现集AI大权为一身
  2. 科普丨人工智能发展的S曲线
  3. (深入理解)matplotlib绘图原理(figure,axes,axis,canvas的区别)
  4. 2022年斯坦福AI Index公布:中美主导跨国研究,专利、投资金额暴增
  5. 虚拟在左,真实在右:德国学者用AI合成一亿像素逼真3D图像,可任意旋转
  6. 大脑认知能力获突破进展!《科学》发现促进大脑发育期间的关键细胞器
  7. 205页PPT,看5G+AI引领的下一个时代!
  8. 富士康遭黑客巨额勒索 企业如何应对数据安全风险?
  9. “那个工作 10 年没跳槽的人,混不下去了”
  10. Daily Storm - 31/10/12