首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jmx似乎不适用于activeMQ

jmx似乎不适用于activeMQ
EN

Stack Overflow用户
提问于 2016-12-13 22:57:23
回答 2查看 4.4K关注 0票数 1

到目前为止,我一直使用activeMQ和作为参考,但到目前为止,我还无法远程连接到JMX,而且在activemq日志中也没有提到jmx url。我想知道是否还有其他方法可以确保jmx正常工作?它应该在activemq日志中显示吗?PS我使用的是jdk1.7和activeMQ 5.14.2。

提前感谢!

编辑

我在我的useJmx=文件中设置了activemq.xml“true”:

代码语言:javascript
复制
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="primary" useJmx="true" dataDirectory="${activemq.data}">

我试了两个步骤:

第一

我尝试将管理上下文从createConnector="false“更改为:

代码语言:javascript
复制
<managementContext>
   <managementContext createConnector="true" connectorPort="1099"/>
</managementContext>

第一次打开端口,ACTIVEMQ运行良好,JMX URL在日志中得到报告,尽管我无法将IT连接到IT REMOTLEY,但IM假定它正常工作

第二

我返回了我为managmentContext所做的更改,并尝试设置:

代码语言:javascript
复制
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_BASE}/jmx.password -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_BASE}/jmx.access"

在bin/activemq脚本中,我将conf/jmx.access文件中的用户名设置为:

代码语言:javascript
复制
admin readwrite

还在conf/jmx.Password中设置了密码:

代码语言:javascript
复制
admin activemq

现在,ACTIVEMQ根本不是RUNNINT,但是如果我在BIN/ACTIVEMQ文件中设置了AUTHENTICATE=FALSE和删除JMX.ACCESS和JMX.PASSWORD配置,那么它就会运行,但是出于安全原因,我需要用户名和密码,我发现这个帖子与我的帖子问题完全相同。有什么想法吗?

EN

Stack Overflow用户

回答已采纳

发布于 2016-12-14 20:42:49

默认情况下,启用用于远程监视的密码身份验证。要禁用它,在启动JVM时设置以下系统属性:-Dcom.sun.management.jmxremote.authenticate=false,就像在第二次测试中所做的那样,但是您需要添加系统属性-Dcom.sun.management.jmxremote

尝试将这些jvm param添加到env文件并更新主机ip。

-Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=X.X

更新

因此,为了恢复工作,我认为你尝试的第一步是最好的,要使它发挥作用,以下是步骤:

  1. 恢复所有jmx env文件更改,就像这个:ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.port=1099“# ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START ACTIVEMQ_SUNJMX_START=#ACTIVEMQ_SUNJMX_START=$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access”#ACTIVEMQ_SUNJMX_START=$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false“ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote
  2. <broker useJmx="true" ...

验证在AMQ日志中是否有

INFO | JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi | org.apache.activemq.broker.jmx.ManagementContext | JMX connector

10.10.10.16 注意:假设是AMQ主机.的IP

  1. 尝试用url "service:jmx:rmi:///jndi/rmi://10.10.10.16:1099/jmxrmi" 连接j控制台,而不是使用AMQ主机连接,而不需要user/pwd.pwd.
  2. 如果无法连接,请尝试如下:

验证在AMQ日志中是否有

INFO | JMX consoles can connect to service:jmx:rmi:///jndi/rmi://10.10.10.16:1099/jmxrmi | org.apache.activemq.broker.jmx.ManagementContext | JMX connector

  1. 重试连接,步骤4
  2. 在这个步骤中,您通常可以连接j控制台。
  3. 如果要添加安全性和授权,请使用以下命令:

请尝试这些步骤,并让我知道在哪一个你未能连接,并提供错误消息从j控制台。

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

https://stackoverflow.com/questions/41132017

复制
相关文章

相似问题

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