到目前为止,我一直使用activeMQ和这作为参考,但到目前为止,我还无法远程连接到JMX,而且在activemq日志中也没有提到jmx url。我想知道是否还有其他方法可以确保jmx正常工作?它应该在activemq日志中显示吗?PS我使用的是jdk1.7和activeMQ 5.14.2。
提前感谢!
编辑
我在我的useJmx=文件中设置了activemq.xml“true”:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="primary" useJmx="true" dataDirectory="${activemq.data}">我试了两个步骤:
第一
我尝试将管理上下文从createConnector="false“更改为:
<managementContext>
<managementContext createConnector="true" connectorPort="1099"/>
</managementContext>第一次打开端口,ACTIVEMQ运行良好,JMX URL在日志中得到报告,尽管我无法将IT连接到IT REMOTLEY,但IM假定它正常工作
第二
我返回了我为managmentContext所做的更改,并尝试设置:
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文件中的用户名设置为:
admin readwrite还在conf/jmx.Password中设置了密码:
admin activemq现在,ACTIVEMQ根本不是RUNNINT,但是如果我在BIN/ACTIVEMQ文件中设置了AUTHENTICATE=FALSE和删除JMX.ACCESS和JMX.PASSWORD配置,那么它就会运行,但是出于安全原因,我需要用户名和密码,我发现这个帖子与我的帖子问题完全相同。有什么想法吗?
发布于 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
更新
因此,为了恢复工作,我认为你尝试的第一步是最好的,要使它发挥作用,以下是步骤:
<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
"service:jmx:rmi:///jndi/rmi://10.10.10.16:1099/jmxrmi" 连接j控制台,而不是使用AMQ主机连接,而不需要user/pwd.pwd.。验证在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
请尝试这些步骤,并让我知道在哪一个你未能连接,并提供错误消息从j控制台。
https://stackoverflow.com/questions/41132017
复制相似问题