Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 本地启动Spark的Kerberos异常_Scala_Unit Testing_Apache Spark_Kerberos - Fatal编程技术网

Scala 本地启动Spark的Kerberos异常

Scala 本地启动Spark的Kerberos异常,scala,unit-testing,apache-spark,kerberos,Scala,Unit Testing,Apache Spark,Kerberos,我正在尝试设置Spark Testng单元测试: @Test def testStuff(): Unit = { val sc = new SparkContext(new SparkConf().setAppName("test").setMaster("local")) ... } 代码失败:IllegalArgumentException:无法获取Kerberos域 我遗漏了什么?错误表明JVM无法找到kerberos config krb5.conf文件 根据您公司的环

我正在尝试设置Spark Testng单元测试:

@Test
def testStuff(): Unit = {
    val sc = new SparkContext(new SparkConf().setAppName("test").setMaster("local"))
    ...
}
代码失败:IllegalArgumentException:无法获取Kerberos域


我遗漏了什么?

错误表明JVM无法找到kerberos config krb5.conf文件

根据您公司的环境/基础设施,您有以下几种选择:

检查您的公司是否有设置kerberos身份验证的标准库。 或者尝试: 设置JVM属性:-Djava.security.krb5.conf=/file path/for/krb5.conf 将krb5.conf文件放入/jre/lib/security文件夹
我试过2.a,但没有成功。我应该在哪里设置JVM属性以成功运行测试?假设您在IDE中运行测试,则可以将其作为运行时参数的一部分传递。启用Kerberos调试跟踪可以帮助您了解Hadoop和/或Java Kerberos库中发生的情况=>export Hadoop_JAAS_debug=true和-Dsun.security.spnego.debug=true cf.plus-Djava.security.debug=gssloginconfig、configfile、configparser‌​,logincontext cf.再三考虑,使用spark submit,必须在spark.driver.extraJavaOptions属性中设置Java系统属性。。。不确定从IDE直接创建SparkSession/SparkContext时设置它们的正确方法。