首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在同一台linux机器上使用主从模式下的多个实例的activemq故障转移

在同一台linux机器上使用主从模式下的多个实例的activemq故障转移
EN

Stack Overflow用户
提问于 2016-11-08 10:18:15
回答 1查看 913关注 0票数 1

我已经设置了ActiveMQ多个实例,以便在windows的主从模式中实现故障转移。在设置相同的程序时,我只是在bin文件夹下创建了3个实例,而没有更改任何端口,并逐一启动了所有3个实例。第一个实例成为主程序,其余处于从模式,直到我停止主实例。

现在,我正试图在Linux环境中实现同样的目标。第一个实例成功启动,但当我在另一个窗口中启动第二个实例时,它将抛出以下错误:

tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600错误:无法启动Apache ActiveMQ (instance2,ID:132vm6-57227-1478597606120-0:1,java.io.IOException:传输连接器无法在JMX: java.io.IOException中注册:无法绑定到服务器套接字:由于: java.net.BindException:地址已在使用) INFO \ ActiveMQ 5.14.0 (instance2,ID:132vm6-57227-1478597606120-0:1)正在关闭INFO连接器开线器已停止INFO连接器amqp停止信息连接器停止信息连接器mqtt停止信息连接器停止信息连接器系统停止信息PListStore:/opt/apache-activemq-5.14.0/bin/instance2/data/instance2/tmp_storage停止信息停止异步队列任务信息停止异步队列任务信息停止异步主题任务信息停止KahaDB信息ID:132 vm6-57227-1478597606120-0:1)是关闭信息-关闭org.apache.activemq.xbean.XBeanBrokerFactory$1@4233871a:启动日期Tue 11月08 15:03:24 IST 2016;上下文层次的根警告从LifecycleProcessor上抛出的上下文关闭java.lang.IllegalStateException: LifecycleProcessor未初始化-调用‘刷新’之前,通过上下文调用生命周期方法:LifecycleProcessor启动日期Tue 11月08 15:03:24 IST 2016;上下文层次结构的根在org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:357)spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:884)spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:843)spring-context-4org.apache.activemq.hooks.SpringContextHook.run(SpringContextHook.java:30)activemq-spring-5.14.0.jar:5.14.0的.1.9.RELEASE.jar:4.1.9.RELEASE在org.apache.activemq.xbean.XBeanBrokerService.stop(XBeanBrokerService.java:122)activemq的org.apache.activemq.broker.BrokerService.stop(BrokerService.java:875)activemq-broker-5.14.0.jar:5.14.0-弹簧-5.14.0.jar:5.14.0在org.apache.activemq.broker.BrokerService.start(BrokerService.java:629)activemq-broker-5.14.0.jar:5.14.0 at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73)activemq-spring-5.14.0.jar:5.14.0 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method):1.7.0_65在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57):1.7.0_65 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43):1.7.0_65 at java.lang.reflect.Method.invoke(Method.java:606):1.7.0_65

我使用的是ActiveMQ 5.14版本。如果有人遇到类似的问题,请提供您的意见。

EN

回答 1

Stack Overflow用户

发布于 2016-11-08 14:13:44

要在同一台机器上运行多个ActiveMQ实例,您需要更改它们试图打开的端口。至少有3个端口需要更改:

  • 接受消息通信量的transportConnector端口。这些是在activemq.xml文件中定义的。通常,您只需要openwire 1--默认为61616;我通常在其他ActiveMQ实例中将其更改为61626、61636等。如果不打算使用它们,通常可以注释掉其他实例。
  • Jetty端口。这是在jetty.xml文件中定义的。默认值为8161,将下一个设置为8162,8163等。
  • JMX端口。这一项有点棘手,因为您需要将一段配置插入到activemq.xml中,以显式地定义它如下:

然后,您可以在其他实例上将其更改为1199,1299。希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40484348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档