`
longgangbai
  • 浏览: 7328626 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Window 下ActiveMQ端口冲突,负载均衡,主备配置

阅读更多

           在Java 学习中Window操作系统下,类似ActiveMQ,Tomcat服务开启服务之后,服务在后台执行,经常遇到端口被占用该怎么办呢?可能多少童鞋都是进行修改端口或者重启相关的服务,但是重新启动之后,相关的端口仍然被占用。我们可能查找进程并kill进程。

在window系统下:

     查看进程号:

     netstat  -ano | find "被占用端口号"

   kill进程:

            资源管理器kill进程。

在linux/unix系统下:

        查看进程号:

           netstat -ano | grep "被占用端口号"

       kill进程号:

           kill  -9   进程号

 

ActiveMQ可以实现多个mq之间进行路由,假设有两个mq,分别为brokerA和brokerB,当有一条消息发送到brokerA的队列test中,有一个客户端连接到brokerB上,并且要求获取test队列的消息时,brokerA中队列test的消息就会路由到brokerB上,反之brokerB的消息也会路由到brokerA。
静态路由配置,brokerA不需要特别的配置,brokerB需要配置networkConnectors节点,具体配置如下:

 

静态路由支持failover,如:static:failover://(tcp://host1:61616,tcp://host2:61616)。
动态路由配置,每个mq都需要配置如下:

注意:networkConnectors需要配置在persistenceAdapter之前。
重启ActiveMQ,可以看到brokerA的日志如图:
networkConnector的属性请参照:http://activemq.apache.org/networks-of-brokers.html

 

ActiveMQ主备配置

ActiveMQ的主备有三种方式:纯Master/Slave、文件共享方式、数据库共享方式。
1、纯Master/Slave
这种方式的主备不需要对Master Broker做特殊的配置,只要在Slave Broker中指定他的Master就可以了,指定Master有两种方式,最简单的配置就是在broker节点中添加masterConnectorURI=”tcp://localhost:61616″即可,还有一种方式就是添加一个services节点,可以指定连接的用户名和密码,配置如下:

纯Master/Slave只允许一个Slave连接到Master上面,也就是说只能有2台MQ做集群,同时当Master挂了之后需要停止Slave来恢复负载。
2、数据库共享方式
这种方式的主备采用数据库做消息的持久化,支持多个Slave,所有broker持久化数据源配置成同一个数据源,当一个broker获取的数据库锁之后,其他的broker都成为slave并且等待获取锁,当master挂了之后,其中的一个slave将会立刻获得数据库锁成为master,重启之前挂掉的master之后,这个master也就成了slave,不需要停止slave来恢复。由于采用的是数据库做为持久化,它的性能是有限的。
3、文件共享方式
这种方式的主备具有和数据库共享方式的负载一样的特性,不同的是broker的持久化采用的是文件(我这里用KahaDB),slave等待获取的锁是文件锁,它具有更高的性能,但是需要文件共享系统的支持。
Window下共享KahaDB持久化的目录,配置如下:

Linux下需要开启NFS服务,具体操作如下:
创建共享目录(192.168.0.1):
1、 修改etc/exports,添加需要共享的目录:/opt/mq/data *(rw,no_root_squash)
2、 启动NFS服务 service nfs start/restart
3、 查看共享 showmount –e
4、 NFS服务自启动 chkconfig –level 35 nfs on

挂载共享目录(192.168.0.2):
1、 挂载:mount –t nfs 192.168.0.1:/opt/mq/data /opt/mq/data
2、 启动自动挂载:在etc/fstab文件添加10.175.40.244:/opt/mq/data /opt/mq/data nfs defaults 0 0
然后指定KahaDB的持久化目录为/opt/mq/data即可。

AIX系统的文件共享和Linux类似,也是启动NFS服务。
注意:如果Master服务器宕机了,Slave是不会获得文件锁而启动,直到Master服务器重启。
Window下Master上有Slave连接时如图:

客户端连接的brokerURL为failover:(tcp://localhost:61616,tcp://localhost:61617)。用第三部分的代码测试,先向Master Broker发送一个消息,然后关闭master,运行获取消息的方法,即可获取之前发送的消息。

分享到:
评论

相关推荐

    activemq负载均衡实现.doc

    在高可用性和高并发场景下,为了实现负载均衡和故障转移,ActiveMQ 提供了 Broker-Cluster(经纪人集群)部署模式。这种部署方式允许多个 ActiveMQ 经纪人实例通过网络互相连接,共享队列,从而实现消息的负载均衡。...

    ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试

    本篇文章将详细讲解如何搭建ActiveMQ的高可用和负载均衡集群,以及进行相关的安装配置和高可用测试。 一、ActiveMQ简介 ActiveMQ是一款功能强大的消息代理,它支持多种消息协议,如OpenWire、AMQP、STOMP、XMPP等,...

    ActiveMQ高可用+负载均衡集群源码+文档.zip

    在提供的源码和文档中,你可以找到关于如何配置ActiveMQ的高可用性和负载均衡的详细信息。例如,源码可能包含示例配置文件,展示了如何设置Master-Slave模式或网络代理的XML配置。文档则会解释这些配置选项的作用,...

    ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试.docx

    本文将深入探讨如何安装、配置ActiveMQ以实现高可用性集群,并进行负载均衡测试,同时利用ZooKeeper和LevelDB来增强系统的稳定性和可靠性。 首先,ActiveMQ的高可用性通常通过集群实现,集群中的每个节点都是...

    高可用之ActiveMQ高可用+负载均衡集群的安装、配置、高可用测试-java源码.zip

    5. **安装与配置**:配置ActiveMQ高可用和负载均衡集群涉及多个步骤,包括安装和启动多个broker实例,设置网络连接,配置集群策略,以及选择合适的HA策略(如Master-Slave或Network of Brokers)。这些步骤需要对...

    activemq配置组合队列(复制)、负载均衡

    本文将深入探讨如何在ActiveMQ中配置组合队列(也称为复制队列)以及实现负载均衡。 首先,让我们了解什么是组合队列。组合队列是一种特殊的队列,它的特点是消息不仅被存储在一个队列中,还会被复制到其他队列,...

    消息队列:ActiveMQ:ActiveMQ的集群与负载均衡.docx

    消息队列:ActiveMQ:ActiveMQ的集群与负载均衡.docx

    ActiveMQ+zookeeper实现高可用和负载均衡(代码和测试)

    ### ActiveMQ+zookeeper实现高可用和负载均衡 #### 一、背景与目标 在现代分布式系统中,消息中间件如ActiveMQ扮演着重要的角色,它能够帮助应用之间进行可靠的消息传递。为了保证系统的稳定性和可靠性,通常需要...

    activemq5配置文档

    - **集群部署**:通过集群,可以实现负载均衡和故障转移,保证服务连续性。 通过上述知识点,我们可以根据"activemq5配置文档"进行详细的配置工作,以满足具体的应用场景需求,无论是简单的消息传递还是复杂的...

    ActiveMQ路由配置方式

    ActiveMQ路由配置方式 ActiveMQ路由配置是Apache ActiveMQ项目中的一种重要配置方式,它依赖另一个Apache项目Camel。ActiveMQ集成了Camel,启动时同时会启动Camel。通过Camel Web Console可以进行Routing配置。 ...

    ActiveMQ的activemq.xml详细配置讲解

    - 如果有多台ActiveMQ实例,可以通过`<networkConnectors>`配置它们之间的连接,实现消息的多节点复制和负载均衡。 10. **Security Configuration** - `<securitySettings>`和`<plugins>`内的`...

    ActiveMQ 配置文件详解

    ActiveMQ的配置主要通过`activemq.xml`文件进行,这个文件位于ActiveMQ安装目录的`conf`文件夹下。这个XML文件定义了ActiveMQ服务器的核心设置,包括网络连接、消息存储、策略、安全性和日志等。 ### 1. 网络连接与...

    activemq 配置说明与activemq入门讲解

    2. **监听端口**:在`<transportConnectors>`元素下配置监听端口,如`tcp://0.0.0.0:61616`,这表示ActiveMQ将在61616端口上监听TCP连接。 3. **存储策略**:ActiveMQ支持两种存储方式——内存存储和文件存储(默认...

    ActiveMQ主备自动failover方案

    ActiveMQ主备自动failover方案 ActiveMQ5.8.0版本的主备有两种方式:共享文件系统、共享数据库。性能上共享文件系统要优于共享数据库。 本文档采用共享文件系统的方式实现主备。共享文件系统最好使用分布式文件存储...

    linux下activemq安装包和配置文档

    linux下activemq安装包和配置文档

    activemq spring 客户端配置

    5. 负载均衡和容灾:由于ActiveMQ服务器使用Zookeeper进行复制,客户端配置可能需要指定Zookeeper的地址,以便于发现和选择可用的ActiveMQ节点。这通常通过ActiveMQConnectionFactory的额外属性实现,如`...

    Apache-ActiveMQ高可用性之负载均衡.docx

    Apache ActiveMQ 是一款开源的消息中间件,它支持多种消息协议并提供高可用性和负载均衡功能。在本文中,我们将深入探讨 Apache ActiveMQ 实现高可用性的负载均衡策略,特别是基于 Broker-Cluster 的方法。 首先,...

    httpd(负载均衡)+Jboss集群高可用部署配置文件

    在Linux环境下,配置httpd的负载均衡主要涉及以下几个步骤: 1. 安装httpd:首先确保Linux系统中已安装httpd,如果没有,可以通过包管理器如`yum`或`apt-get`进行安装。 2. 配置httpd:编辑httpd的配置文件(通常为...

    window系统搭建activeMQ集群和操作步骤

    下面将详细介绍如何在Windows环境下配置ActiveMQ集群及其操作步骤。 1. **ActiveMQ集群概念** - **集群**:ActiveMQ集群是多个ActiveMQ服务器实例的集合,它们共享消息负载,提高系统的可用性和可靠性。当一个节点...

    tomcat下activemq之http配置

    本文将深入探讨如何在Tomcat下配置ActiveMQ,特别是其HTTP配置。 首先,了解ActiveMQ的基础知识至关重要。ActiveMQ允许应用程序之间通过消息进行异步通信,这种通信模式可以提高系统的可伸缩性和可靠性。它支持多种...

Global site tag (gtag.js) - Google Analytics