如何在调试模式下启动Apache Zepelin?

时间:2015-09-28 09:37:18

标签: java debugging intellij-idea apache-zeppelin

我需要在调试模式下启动Zeppelin,以便在Intellij中添加断点来远程调试代码。

我该怎么做?没有关于此的文档。

3 个答案:

答案 0 :(得分:3)

您可以设置此属性

在zeppelin-env.sh

导出ZEPPELIN_MEM =" -Xdebug -Xnoagent -Xrunjdwp:transport = dt_socket,server = y,suspend = n,address = 8111"

同样,你可以为interpreter-mem

只有catch你可以远程调试一个intrepreter进程,因为每个解释器没有唯一的属性。

答案 1 :(得分:2)

有关调试的详细信息,请参阅How to contribute page

答案 2 :(得分:1)

首先,让我们更新zeppelin-env.sh以正确设置配置以使JVM以调试模式启动。

编辑$ ZEPPELIN_HOME / conf / zeppelin-env.sh 将以下内容添加到文件中:

export ZEPPELIN_MEM="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8111"

现在我们已经更新了zeppelin-env.sh,下次Apache Zeppelin启动时,它将在端口8111上侦听远程调试器。

要调试解释器,请更改ZEPPELIN_INTP_MEM envrionment变量。 但正如Ram已经提到的那样,由于端口冲突,它只能用于一个解释器。

配置IntelliJ IDE以连接和调试远程Apache Zeppelin

转到“运行” - >“编辑配置” 在IntelliJ IDE中创建新的远程配置: screenshot 1

将IntelliJ配置为停止异常

转到“运行” - >“查看断点” 启用“Java异常断点” 选择条件复选框,并添加以下条件:

!(this instanceof java.lang.ClassNotFoundException || 
  this instanceof java.util.MissingResourceException || 
  this instanceof javax.naming.NoInitialContextException || 
  this instanceof java.lang.NoSuchMethodException)

您现在应该将Exception断点配置为: breakpoints screenshot

完全归功于Luciano Resende - 请参阅此处的完整文章: http://lresende.blogspot.com/2016/08/launching-apache-zeppelin-in-debug-mode.html