- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用主节点和多个工作节点在集群上调试 Spark 应用程序。我已经使用 Spark 独立集群管理器成功设置了主节点和工作节点。我下载了包含二进制文件的 Spark 文件夹,并使用以下命令来设置工作节点和主节点。这些命令是从 Spark 目录执行的。
启动master的命令
./sbin/start-master.sh
启动工作节点的命令
./bin/spark-class org.apache.spark.deploy.worker.Worker master-URL
提交申请命令
./sbin/spark-submit --class Application --master URL ~/app.jar
现在,我想了解当我提交应用程序时通过工作节点上的 Spark 源代码进行的控制流(我只想使用给定的使用 reduce() 的示例之一)。我假设我应该在 Eclipse 上设置 Spark。 Eclipse 设置 link Apache Spark 网站上的似乎已损坏。我希望获得有关设置 Spark 和 Eclipse 以在工作节点上单步执行 Spark 源代码的指导。
谢谢!
最佳答案
区分调试驱动程序和调试执行程序之一很重要。它们需要传递给 spark-submit
要调试驱动程序,您可以将以下内容添加到 spark-submit
命令中。然后将远程调试器设置为连接到启动驱动程序的节点。
--driver-java-options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
在此示例中指定了端口 5005,但如果该端口上已运行某些内容,您可能需要自定义该端口。
连接到执行器类似,将以下选项添加到您的 spark-submit
命令中。
--num-executors 1 --executor-cores 1 --conf "spark.executor.extraJavaOptions=-agentlib:jdwp=transport=dt_socket,server=n,address=wm1b0-8ab.yourcomputer.org:5005,suspend=n"
将该地址替换为您本地计算机的地址。 (最好测试一下您是否可以从 Spark 集群访问它)。
在这种情况下,以监听模式启动调试器,然后启动 Spark 程序并等待执行器附加到调试器。将执行程序的数量设置为 1 很重要,否则多个执行程序都会尝试连接到您的调试器,可能会导致问题。
这些示例适用于将 sparkMaster
设置为 yarn-client
的情况,尽管它们在 mesos 下运行时也可能有效。如果您使用yarn-cluster
模式运行,您可能必须将驱动程序设置为附加到调试器,而不是将调试器附加到驱动程序,因为您不一定事先知道哪个节点驱动程序将被执行。
关于apache-spark - 如何在 Spark Standalone 上调试 Spark 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29090745/
我是一名优秀的程序员,十分优秀!