Kıvılcım ortamımı bir kerberleştirilmiş HDFS dosya konumundan okumak için ayarlama sorunlarım var.Kerberos tarafından korunan bir HDFS dosyasını almak için Spark'i kullanma
andaaşağıdaki yapmaya çalıştık:
Aşağıdaki hata ile, Spark Bağlamını yaratma noktasında başarısızdef ugiDoAs[T](ugi: Option[UserGroupInformation])(code: => T) = ugi match {
case None => code
case Some(u) => u.doAs(new PrivilegedExceptionAction[T] {
override def run(): T = code
})
}
val sparkConf = defaultSparkConf.setAppName("file-test").setMaster("yarn-client")
val sc = ugiDoAs(ugi) {new SparkContext(conf)}
val file = sc.textFile("path")
:
Exception in thread "main" org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.apache.hadoop.yarn.ipc.RPCUtil.instantiateException(RPCUtil.java:53)
at org.apache.hadoop.yarn.ipc.RPCUtil.unwrapAndThrowException(RPCUtil.java:104)
at org.apache.hadoop.yarn.api.impl.pb.client.ApplicationClientProtocolPBClientImpl.getClusterMetrics(ApplicationClientProtocolPBClientImpl.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
kimse basit var Has kıvılcımlanmış bir HDFS konumuna bağlanmak için kıvılcımın nasıl kullanıldığına dair örnek
Bu kıvılcımın çalışmasını sağlamak için İplik modunda olması gerektiğini biliyorum, ancak oturum açma yöntemi bu açıdan çalışmıyor gibi görünüyor. Kullanıcı Grup Bilgisi (ugi) nesnesinin, aynı nesne ve HBase'de ZK'ye bağlanmak için kullanmış olduğumdan geçerli olduğunu bilmeme rağmen.