Datastax OpsCenter 3.1.1 代理 JMX 身份验证错误

Datastax OpsCenter 3.1.1 代理 JMX 身份验证错误

我正在使用 opscenter 3.1.1,并且刚刚在 Cassandra 集群上启用了 JMX 用户名/密码身份验证。我认为我已经正确更新了所有 opscenter 配置以强制代理使用 JMX 身份验证,但它不起作用。

/etc/opscenter/Clusters/[cluster-name].conf我已经使用以下 jmx 属性更新了下面的配置

    [jmx]
    username=username
    password=password
    port=7199

然后我重新启动了 opscenter 和 opscenter 代理,但在 opscenter 代理日志中看到以下错误:

    DEBUG [Thread-10] 2013-11-15 10:07:28,461 Adding JMX connector to pool (127.0.0.1:7199)
    DEBUG [node-details-1] 2013-11-15 10:07:28,464 Starting real-time collection
    DEBUG [node-details-2] 2013-11-15 10:07:28,466 Starting short-time collection
    DEBUG [node-details-3] 2013-11-15 10:07:28,468 Starting long-time collection
    ERROR [node-details-1] 2013-11-15 10:07:28,474 Error getting realtime node details
            java.lang.SecurityException: Authentication failed! Credentials required
            at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticationFailure(Unknown Source)
            at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticate(Unknown Source)
            at sun.management.jmxremote.ConnectorBootstrap$AccessFileCheckerAuthenticator.authenticate(Unknown Source)
            at javax.management.remote.rmi.RMIServerImpl.doNewClient(Unknown Source)
            at javax.management.remote.rmi.RMIServerImpl.newClient(Unknown Source)
            at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
            at sun.rmi.transport.Transport$1.run(Unknown Source)
            at sun.rmi.transport.Transport$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Unknown Source)
            at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
            at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
            at sun.rmi.server.UnicastRef.invoke(Unknown Source)
            at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
            at javax.management.remote.rmi.RMIConnector.getConnection(Unknown Source)
            at javax.management.remote.rmi.RMIConnector.connect(Unknown Source)
            at javax.management.remote.rmi.RMIConnector.connect(Unknown Source)
            at opsagent.jmx$create_jmx_pool$wrapper__1044.invoke(jmx.clj:183)
            at opsagent.nodedetails$run_realtime_collection.invoke(nodedetails.clj:201)
            at opsagent.nodedetails$start_pool$fn__3237.invoke(nodedetails.clj:302)
            at clojure.lang.AFn.run(AFn.java:24)

在此堆栈跟踪上方的几行中,我确实看到一行表明代理正在从 opscenter 检索最新配置:

    INFO [StompConnection receiver] 2013-11-15 10:07:18,298 Got new config from OpsCenter:

但数据中唯一与 jmx 相关的属性是:jmx_port 7199

这似乎是 3.2.2 中的一个错误(http://mail-archives.apache.org/mod_mbox/cassandra-user/201310.mbox/%3CCALHkrw_xjJBy5k-7vCc3NezLy17HLY_HPDCFptG74RqiivcgBg@mail.gmail.com%3E),但我没有看到任何迹象表明它是 3.1.1 中的一个错误或它已在 4.0 中修复。

有想法该怎么解决这个吗?

答案1

该邮件列表主题中提到的错误也影响 3.1.1,并且已在 4.0.0 中修复。我们会在发行说明中添加对此的提及。

供将来参考,内部票号为 OPSC-2136。并且我们从您提到的配置日志中删除了所有身份验证信息。

相关内容