您将需要在 nifi-registry.sh 脚本中编辑此行以启用远程调试
run_nifi_registry_cmd="'${JAVA}' -cp '${BOOTSTRAP_CLASSPATH}' -Xms12m -Xmx24m ${BOOTSTRAP_DIR_PARAMS} org.apache.nifi.registry.bootstrap.RunNiFiRegistry $@"
它只是我,还是记忆足迹真的很小?
例如,在Kafka中,有启动脚本的这一部分
# Set Debug options if enabled
if [ "x$KAFKA_DEBUG" != "x" ]; then
# Use default ports
DEFAULT_JAVA_DEBUG_PORT="5005"
if [ -z "$JAVA_DEBUG_PORT" ]; then
JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT"
fi
# Use the defaults if JAVA_DEBUG_OPTS was not set
DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=${DEBUG_SUSPEND_FLAG:-n},address=$JAVA_DEBUG_PORT"
if [ -z "$JAVA_DEBUG_OPTS" ]; then
JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
fi
echo "Enabling Java debug options: $JAVA_DEBUG_OPTS"
KAFKA_OPTS="$JAVA_DEBUG_OPTS $KAFKA_OPTS"
fi
然后它最终运行 ${JAVA} ... ${KAFKA_OPTS} ,如果你停止Kafka服务器并启动它
export KAFKA_DEBUG=y; kafka-server-start ...
然后,您可以默认在端口5005上附加远程调试器
我知道你使用的是NiFi Registry,而不是Kafka,但基本上,你需要为JVM添加参数并重新启动它 . 您不能只是附加到正在运行的注册表并浏览源代码 .