为在DataStax Enterprise上运行的Spark启用远程JMX监视

时间:2016-01-26 13:41:17

标签: apache-spark jmx datastax datastax-enterprise opscenter

在AWS EC2上执行标准AMI DSE安装需要执行哪些步骤才能启用远程JMX监控?

我做了以下步骤,但我无法使用VisualVM进行连接:

  1. 创建/etc/dse/spark/conf/metrics.properties
  2. 复制并粘贴https://github.com/apache/spark/blob/branch-1.4/conf/metrics.properties.template
  3. 的内容
  4. 取消注释这些行:
    • org.apache.spark.metrics.sink.JmxSink
    • *。sink.jmx.class = org.apache.spark.metrics.sink.JmxSink
    • master.source.jvm.class = org.apache.spark.metrics.source.JvmSource
    • worker.source.jvm.class = org.apache.spark.metrics.source.JvmSource
    • driver.source.jvm.class = org.apache.spark.metrics.source.JvmSource
    • executor.source.jvm.class = org.apache.spark.metrics.source.JvmSource
  5. 通过OpsCenter重新启动DSE群集

1 个答案:

答案 0 :(得分:1)

默认情况下,远程jmx监控在DSE 4.8.0及更高版本中关闭。假设ami正在运行最新版本的DSE。然后spark将在DSE节点上运行。文档是here,但这里是摘要:

  • 编辑cassandra-env.sh并设置以下内容:

    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
    LOCAL_JMX=no`
    
  • 将jm / mdk安装位置的jmxremote.password.template复制到/ etc / cassandra并将其重命名为jmxremote.password

    chown cassandra:cassandra /etc/cassandra/jmxremote.password
    chmod 400 /etc/cassandra/jmxremote.password`
    
  • 编辑jmxremote.password以及用户和密码。

    monitorRole QED
    controlRole R&D
    cassandra cass_password`
    
  • 对此问题感到抱歉,但您必须将具有r / w权限的用户添加到:

    /usr/lib/jvm/java-8-oracle/jre/lib/management/jmxremote.access
    

    我在安装了Oracle Java 8的Ubuntu上安装了这个。请更改路径以匹配您的Java安装。

    monitorRole readonly
    cassandra readwrite
    controlRole readwrite \
    create javax.management.monitor.,javax.management.timer. \
    unregister
    

重新启动cassandra并使用cassandra用户名和密码附加您的jmx工具。