Java 无法停止Kerberos调试日志记录
我正在使用一个支持Kerberos的Spark群集来运行Spark应用程序。Kerberos以前是由组织的其他成员设置的,我不知道它是如何工作的。在最初的几天里,我们使用Kerberos调试日志来理解异常“无法从用户处获取密码”,这是由于jre security的cacerts文件夹中缺少JCE证书而引发的。但是,我们不再需要日志,因此使用-Dsun.security.krb5.debug=false参数来禁用日志记录。然而,这并没有产生任何效果。有没有其他参数可以做到这一点?请帮帮我。摘自GitBook“Hadoop和Kerberos:门外的疯狂”,Steve Loughran,第章 JVM库日志记录 您可以在-Dsun.security.krb5.debug=true 这不是通过Log4J或java.util日志记录出来的;就这么来了 在控制台上。这有点不方便,但请记住 他们在系统的一个非常低级的部分进行日志记录。确实如此 至少有一个日志。如果你发现自己处于这一水平,你就陷入了困境 麻烦记住这一点 如果您想调试另一个系统SPNEGO中发生的事情 属性允许您启用此选项:Java 无法停止Kerberos调试日志记录,java,apache-spark,kerberos,Java,Apache Spark,Kerberos,我正在使用一个支持Kerberos的Spark群集来运行Spark应用程序。Kerberos以前是由组织的其他成员设置的,我不知道它是如何工作的。在最初的几天里,我们使用Kerberos调试日志来理解异常“无法从用户处获取密码”,这是由于jre security的cacerts文件夹中缺少JCE证书而引发的。但是,我们不再需要日志,因此使用-Dsun.security.krb5.debug=false参数来禁用日志记录。然而,这并没有产生任何效果。有没有其他参数可以做到这一点?请帮帮我。摘自Gi
-Dsun.security.spnego.debug=true
您可以在HADOOP\u OPTS
环境变量export HADOOP\u OPTS=“-Dsun.security.krb5.debug=true-Dsun.security.spnego.debug=true”
Hadoop端JAAS调试
将env变量HADOOP\u JAAS\u DEBUG
设置为true,UGI将设置
它创建的任何JAAS文件上的“debug”标志
在发布hadoop、hdfs或Thread之前,您可以在客户机上执行此操作
命令,并在服务的环境脚本中将其设置为
把它打开export HADOOP\u JAAS\u DEBUG=true
在下一个Hadoop命令中,您将看到类似(……)的跟踪
警告:以sun.security.
开头的Java属性适用于sun/Oracle Java运行时,也适用于OpenJDK运行时及其变体。但不适用于IBM Java等
摘自Java 8文档的 如果要监视安全访问,可以设置
java.security.debug
系统属性(…….)用逗号分隔多个选项 特别是在对Kerberos进行故障排除时,我个人使用这种组合:
-Djava.security.debug=gssloginconfig、configfile、configparser、logincontext
摘自Oracle工具/启动器一节 JDK 9支持一个新的环境变量
JDK_JAVA_OPTIONS
to
将选项前置到命令行上指定的选项。新的
与环境变量相比,环境变量有几个优点
传统/不受支持的\u JAVA\u选项
环境变量,包括
能够包括java启动器选项(…)
这两个env变量是注入Java系统属性的一种非常肮脏(而且非常难以检测)的方式,而不让它们出现在命令行上
这对你意味着什么?好的,您必须搜索多个Java系统道具和环境变量,它们可能被设置
- 对于环境变量:全局(cf.
),或帐户级别(cf./etc/profile.d/*.sh
和朋友),或Hadoop内部的“包含文件”,或直接在运行Spark作业的shell脚本中~/.bashrc
- 对于系统道具:在以后在shell脚本(…)中开发的任何shell或env变量中,或在Java启动时拾取的任何env var中,或在Thread配置文件中(在Thread上使用Spark时),或直接在Java命令行上开发
我个人会运行一个虚拟的Spark作业,它只转储所有环境变量和Java系统道具;然后检查垃圾场,以检测要搜索的内容;然后运行蛮力
查找-在Linux文件系统上执行grep…
(根据需要重复)。摘自GitBook“Hadoop和Kerberos:大门之外的疯狂”,Steve Loughran,第章
JVM库日志记录
您可以在-Dsun.security.krb5.debug=true
这不是通过Log4J或java.util日志记录出来的;就这么来了
在控制台上。这有点不方便,但请记住
他们在系统的一个非常低级的部分进行日志记录。确实如此
至少有一个日志。如果你发现自己处于这一水平,你就陷入了困境
麻烦记住这一点
如果您想调试另一个系统SPNEGO中发生的事情
属性允许您启用此选项:-Dsun.security.spnego.debug=true
您可以在HADOOP\u OPTS
环境变量export HADOOP\u OPTS=“-Dsun.security.krb5.debug=true-Dsun.security.spnego.debug=true”
Hadoop端JAAS调试
将env变量HADOOP\u JAAS\u DEBUG
设置为true,UGI将设置
它创建的任何JAAS文件上的“debug”标志
在发布hadoop、hdfs或Thread之前,您可以在客户机上执行此操作
命令,并在服务的环境脚本中将其设置为
把它打开export HADOOP\u JAAS\u DEBUG=true
在下一个Hadoop命令中,您将看到类似(……)的跟踪
警告:以sun.security.
开头的Java属性适用于sun/Oracle Java运行时,也适用于OpenJDK运行时及其变体。但不适用于IBM Java等
摘自Java 8文档的 如果要监视安全访问,可以设置
java.security.debug
系统属性(…….)用逗号分隔多个选项。