Я получаю следующую ошибку при подключении к защищенной среде Kerberos Phoenix с помощью кода Spark java.
Ошибка аутентификации ASL. Наиболее вероятная причина - отсутствие или неверные учетные данные. Рассмотрим кинит. javax.security.sasl.SaslException: сбой инициализации GSS Причина: org.ietf.jgss.GSSException: не предоставлены действительные учетные данные (уровень механизма: не удалось найти какие-либо протоколы Kerberos) на sun.security.jgss.krb5.Krb5InitCredential.getInstance ( Krb5InitCredential. java: 147 "
Мой искровый код выглядит следующим образом: -
SparkConf sparkConf = new SparkConf()
.setMaster("local[4]")
.setAppName("phoenix-test")
.set("hadoop.security.authentication", "kerberos")
.set("hbase.security.authentication", "kerberos")
.set("hadoop.rpc.protection", "privacy")
.set("spark.yarn.principal", "infinityadm/lswpbacrapn3d.nam.nsroot.net@NAMUXDEV.DYN.NSROOT.NET")
.set("spark.yarn.keytab", "C://files//infinityadm_lswpbacrapn3d.nam.nsroot.net@NAMUXDEV.DYN.NSROOT.NET.keytab")
sc = new SparkContext(sparkConf);
JavaSparkContext jsc = JavaSparkContext.fromSparkContext(SparkContext.getOrCreate(sparkConf));
SQLContext sqlContext = new SQLContext(jsc);
DataFrame fromPhx = sqlContext
.read()
.format("org.apache.phoenix.spark")
.option("table", "ODS.TRF_DEF_PRM")
.option("zkURL", "url:/hbase-dev")
/*.option("zkURL","lswpbacrapn1d,lswpbacrapn2d,lswpbacrapn3d:2181:/hbase-dev")*/
.load();
Мои параметры vm в intellij следующие: -
-DCPB_LOG_PATH=C:/Users/PB42185/Logs
-DSERVICE_NAME=infinity-utils
-DJava.security.krb5.conf=C:/Users/2185/krb5.conf
-DJava.security.krb5.ini=C:/Users/2185/krb5.ini
-DJava.security.krb5.realm=@APACUXUAT.DYN.NSROOT.NET
-Dzookeeper.sasl.client=false
-Dzookeeper.sasl.client.username=adm
-Dsun.security.krb5.debug=true