【问题标题】:How to report JMX from Spark Streaming on EC2 to VisualVM?如何从 EC2 上的 Spark Streaming 向 VisualVM 报告 JMX?
【发布时间】:2014-12-18 13:42:09
【问题描述】:

我一直在尝试获取 Spark Streaming 作业,在 EC2 实例上运行以使用 JMX 向 VisualVM 报告。

到目前为止,我有以下配置文件:

spark/conf/metrics.properties:

*.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

然后我像这样开始 spark 流式传输工作: (我后来添加的 -D 位是为了远程访问 ec2 的 jmx)

终端

spark/bin/spark-submit --class my.class.StarterApp --master local --deploy-mode client \
  project-1.0-SNAPSHOT.jar \
    -Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=54321 \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Dcom.sun.management.jmxremote.ssl=false

【问题讨论】:

  • 什么方式不工作,你可以连接吗?
  • 将公共 IP 添加到 VisualVM 就我所知。我无法得到任何进一步的联系。作为 EC2 的安全组,我还打开了所有进出连接(我不确定我使用 -D 参数提供的端口是否在做某事)
  • 仅针对最终会在这里寻找解决方案的其他人(查看第二个答案,而不是接受的答案):stackoverflow.com/questions/19130877/…

标签: amazon-ec2 jmx apache-spark visualvm spark-streaming


【解决方案1】:

spark-submit 命令行有两个问题:

  1. local - 您必须使用 local 主 URL 运行 Spark Standalone,因为将没有线程来运行您的计算(作业)并且您有两个,即一个用于接收器,另一个用于为司机。您应该会在日志中看到以下 WARN:

WARN StreamingContext: spark.master 应该设置为 local[n], n > 1 如果您有接收器来获取数据,则在本地模式下,否则 Spark 作业 不会获得资源来处理接收到的数据。

  1. -D 选项不会被 JVM 拾取,因为它们是在 Spark Streaming 应用程序之后提供的,并有效地成为其命令行参数。将它们放在之前 project-1.0-SNAPSHOT.jar 并重新开始(您必须先解决上述问题!)

【讨论】:

    【解决方案2】:
    spark-submit --conf "spark.driver.extraJavaOptions=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8090  -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"/path/example/src/main/python/pi.py 10000
    

    注意:配置格式:--conf "params" 。在 spark 2.+ 下测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      相关资源
      最近更新 更多