如何每次都在同一个服务器启动ActiveMQ WebConsole?
How to start ActiveMQ WebConsole at the same server every time?
我有 3 个虚拟机,每个 运行 zookeeper
和 activemq
。
每次我启动 ActiveMQ
时,ActiveMQ WebConsole
都会在不同的服务器中启动。我想每次都在同一台服务器上启动 ActiveMQ WebConsole,所以我不需要通过日志找出它们中的哪一个是 运行 webconsole
。
我的 jetty.xml
是这样配置的:
<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>
这是不可能的,因为嵌入式 Web 服务器 运行 在主代理上。
您可以查看允许远程管理的替代 Web 控制台,例如可以连接到远程服务器的 hawtio。您可以在本地计算机上启动 hawtio,或者在其他主机上 运行,或者在这 3 个节点之一上单独启动它等
运行 当地人 Hawt.io 喜欢 Claus 的建议是一个不错的选择。
如果您想坚持使用 Web 控制台,实际上可以让它连接到当前的主代理。
您需要以非嵌入式模式启动控制台并设置(至少)三个系统属性。也就是说,通常这涉及将 web-console .war 部署在 Tomcat 或类似的内部。
webconsole.jms.url=failover:(tcp://serverA:61616,tcp://serverB:61616)
webconsole.jmx.url=service:jmx:rmi:///jndi/rmi://serverA:1099/jmxrmi,service:jmx:rmi:///jndi/rmi://serverB:1099/jmxrmi
webconsole.type=properties
An old article 也讨论了使用嵌入式 Web 控制台进行故障转移。我不知道它是否适用于当前版本的所有细节。
我有 3 个虚拟机,每个 运行 zookeeper
和 activemq
。
每次我启动 ActiveMQ
时,ActiveMQ WebConsole
都会在不同的服务器中启动。我想每次都在同一台服务器上启动 ActiveMQ WebConsole,所以我不需要通过日志找出它们中的哪一个是 运行 webconsole
。
我的 jetty.xml
是这样配置的:
<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>
这是不可能的,因为嵌入式 Web 服务器 运行 在主代理上。
您可以查看允许远程管理的替代 Web 控制台,例如可以连接到远程服务器的 hawtio。您可以在本地计算机上启动 hawtio,或者在其他主机上 运行,或者在这 3 个节点之一上单独启动它等
运行 当地人 Hawt.io 喜欢 Claus 的建议是一个不错的选择。
如果您想坚持使用 Web 控制台,实际上可以让它连接到当前的主代理。
您需要以非嵌入式模式启动控制台并设置(至少)三个系统属性。也就是说,通常这涉及将 web-console .war 部署在 Tomcat 或类似的内部。
webconsole.jms.url=failover:(tcp://serverA:61616,tcp://serverB:61616)
webconsole.jmx.url=service:jmx:rmi:///jndi/rmi://serverA:1099/jmxrmi,service:jmx:rmi:///jndi/rmi://serverB:1099/jmxrmi
webconsole.type=properties
An old article 也讨论了使用嵌入式 Web 控制台进行故障转移。我不知道它是否适用于当前版本的所有细节。