[ https://issues.apache.org/jira/browse/SPARK-27554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hyukjin Kwon resolved SPARK-27554. ---------------------------------- Resolution: Invalid No evidence that it's an issue in Spark. Probably it will be a problem about Kerberos in your env setup. check if you did {{kinit}} first. > org.apache.hadoop.security.AccessControlException: Client cannot authenticate > via:[TOKEN, KERBEROS] > --------------------------------------------------------------------------------------------------- > > Key: SPARK-27554 > URL: https://issues.apache.org/jira/browse/SPARK-27554 > Project: Spark > Issue Type: Bug > Components: Scheduler > Affects Versions: 2.4.0, 2.4.1 > Environment: cdh5.16.1 > spark2.4.0 > spark2.4.1 > spark2.4.2 > Reporter: Jepson > Priority: Major > Original Estimate: 96h > Remaining Estimate: 96h > > {code} > #basic env > JAVA_HOME=/usr/java/jdk1.8.0_181 > HADOOP_CONF_DIR=/etc/hadoop/conf > export SPARK_HOME=/opt/software/spark/spark-2.4.2 > {code} > {code} > #project env > KERBEROS_USER=h...@hadoop.com > KERBEROS_USER_KEYTAB=/etc/kerberos/hdfs.keytab > PROJECT_MAIN_CLASS=com.jy.dwexercise.OrderDeliveryModel > PROJECT_JAR=/opt/maintain/scripts/bas-1.0-SNAPSHOT.jar > {code} > {code} > #spark resource > DRIVER_MEMORY=4G > EXECUTORS_NUM=20 > EXECUTOR_MEMORY=6G > EXECUTOR_VCORES=4 > QUEQUE=idss > {code} > {code} > #submit job > /opt/software/spark/spark-2.4.2/bin/spark-submit \ > --master yarn \ > --deploy-mode cluster \ > --queue ${QUEQUE} \ > --driver-memory ${DRIVER_MEMORY} \ > --num-executors ${EXECUTORS_NUM} \ > --executor-memory ${EXECUTOR_MEMORY} \ > --executor-cores ${EXECUTOR_VCORES} \ > --principal ${KERBEROS_USER} \ > --keytab ${KERBEROS_USER_KEYTAB} \ > --class ${PROJECT_MAIN_CLASS} \ > --conf > "spark.yarn.archive=hdfs://jybigdata/spark/spark-archive-20190422.zip" \ > --conf "spark.sql.autoBroadcastJoinThreshold=20971520" \ > ${PROJECT_JAR} > {code} > > {code} > *ERROR log:* > 19/04/24 13:35:07 INFO ConfiguredRMFailoverProxyProvider: Failing over to rm78 > 19/04/24 13:35:07 WARN UserGroupInformation: PriviledgedActionException > as:hdfs (auth:SIMPLE) > cause:org.apache.hadoop.security.AccessControlException: Client cannot > authenticate via:[TOKEN, KERBEROS] > 19/04/24 13:35:07 WARN Client: Exception encountered while connecting to the > server : org.apache.hadoop.security.AccessControlException: Client cannot > authenticate via:[TOKEN, KERBEROS] > 19/04/24 13:35:07 WARN UserGroupInformation: PriviledgedActionException > as:hdfs (auth:SIMPLE) cause:java.io.IOException: > org.apache.hadoop.security.AccessControlException: Client cannot authenticate > via:[TOKEN, KERBEROS] > 19/04/24 13:35:07 INFO RetryInvocationHandler: Exception while invoking > getClusterMetrics of class ApplicationClientProtocolPBClientImpl over rm78 > after 10 fail over attempts. Trying to fail over immediately. > java.io.IOException: Failed on local exception: java.io.IOException: > org.apache.hadoop.security.AccessControlException: Client cannot authenticate > via:[TOKEN, KERBEROS]; Host Details : local host is: > "hadoopnode143/192.168.209.143"; destination host is: > "hadoopmanager136":8032; > at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:772) > at org.apache.hadoop.ipc.Client.call(Client.java:1508) > at org.apache.hadoop.ipc.Client.call(Client.java:1441) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:231) > at com.sun.proxy.$Proxy25.getClusterMetrics(Unknown Source) > at > org.apache.hadoop.yarn.api.impl.pb.client.ApplicationClientProtocolPBClientImpl.getClusterMetrics(ApplicationClientProtocolPBClientImpl.java:202) > 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:498) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:258) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:104) > at com.sun.proxy.$Proxy26.getClusterMetrics(Unknown Source) > at > org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.getYarnClusterMetrics(YarnClientImpl.java:483) > at > org.apache.spark.deploy.yarn.Client$$anonfun$submitApplication$1.apply(Client.scala:164) > at > org.apache.spark.deploy.yarn.Client$$anonfun$submitApplication$1.apply(Client.scala:164) > at org.apache.spark.internal.Logging$class.logInfo(Logging.scala:54) > at org.apache.spark.deploy.yarn.Client.logInfo(Client.scala:59) > at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:163) > at > org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:57) > at > org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:183) > at org.apache.spark.SparkContext.<init>(SparkContext.scala:501) > at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2520) > at > org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:935) > at > org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:926) > at scala.Option.getOrElse(Option.scala:121) > at > org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:926) > at > com.jiuye.dwexercise.OrderDeliveryModel$.<init>(OrderDeliveryModel.scala:25) > at > com.jiuye.dwexercise.OrderDeliveryModel$.<clinit>(OrderDeliveryModel.scala) > at > com.jiuye.dwexercise.OrderDeliveryModel$$anonfun$5.apply(OrderDeliveryModel.scala:55) > at > com.jiuye.dwexercise.OrderDeliveryModel$$anonfun$5.apply(OrderDeliveryModel.scala:55) > at > org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage49.processNext(Unknown > Source) > at > org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43) > at > org.apache.spark.sql.execution.WholeStageCodegenExec$$anonfun$13$$anon$1.hasNext(WholeStageCodegenExec.scala:636) > at > org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:255) > at > org.apache.spark.sql.execution.SparkPlan$$anonfun$2.apply(SparkPlan.scala:247) > at > org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$24.apply(RDD.scala:836) > at > org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$24.apply(RDD.scala:836) > at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52) > at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) > at org.apache.spark.rdd.RDD.iterator(RDD.scala:288) > at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52) > at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) > at org.apache.spark.rdd.RDD.iterator(RDD.scala:288) > at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90) > at org.apache.spark.scheduler.Task.run(Task.scala:121) > at > org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408) > at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360) > at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.io.IOException: > org.apache.hadoop.security.AccessControlException: Client cannot authenticate > via:[TOKEN, KERBEROS] > at org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:718) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1924) > at > org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:681) > at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:769) > at org.apache.hadoop.ipc.Client$Connection.access$3000(Client.java:396) > at org.apache.hadoop.ipc.Client.getConnection(Client.java:1557) > at org.apache.hadoop.ipc.Client.call(Client.java:1480) > ... 50 more > Caused by: org.apache.hadoop.security.AccessControlException: Client cannot > authenticate via:[TOKEN, KERBEROS] > at > org.apache.hadoop.security.SaslRpcClient.selectSaslClient(SaslRpcClient.java:172) > at > org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:396) > at > org.apache.hadoop.ipc.Client$Connection.setupSaslConnection(Client.java:594) > at org.apache.hadoop.ipc.Client$Connection.access$2000(Client.java:396) > at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:761) > at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:757) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1924) > at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:756) > ... 53 more > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org