Venkata Sudheer Kumar M created ZEPPELIN-3016: -------------------------------------------------
Summary: Zeppelin Spark Interpreter User Impersonation is not working Key: ZEPPELIN-3016 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3016 Project: Zeppelin Issue Type: Bug Components: Interpreters Affects Versions: 0.7.3, 0.7.2, 0.7.1 Reporter: Venkata Sudheer Kumar M Hadoop 2.7.3 Spark 2.1.1 Zeppelin (0.7.2 and 0.7.3) Working: Install and configure zeppelin 0.7.2/0.7.3 with Spark 2.1.1 with HDP 2.6.2 (Hadoop 2.7.3) and enable node labels from YARN ( * spark-am-worker-nodes* ) along with Preemption and Map spark to launch Application master only on these node-labeled yarn nodes using *spark.yarn.am.nodeLabelExpression* and enable zeppelin -spark interpreter to use *Per User* and *Isolated per user * with this i'm able to launch the job (run *_sc.version _*from *_%pyspark_*) with the default user *zeppelin* Not Working: Follow the same process as above and also enable the *User Impersonation* setting for Spark Interpreter then (sc.version) it is failing with: {color:#d04437} java.lang.NullPointerException at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:38) at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:33) at org.apache.zeppelin.spark.SparkInterpreter.createSparkContext_2(SparkInterpreter.java:385) at org.apache.zeppelin.spark.SparkInterpreter.createSparkContext(SparkInterpreter.java:374) at org.apache.zeppelin.spark.SparkInterpreter.getSparkContext(SparkInterpreter.java:146) at org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:819) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69) at org.apache.zeppelin.spark.PySparkInterpreter.getSparkInterpreter(PySparkInterpreter.java:566) at org.apache.zeppelin.spark.PySparkInterpreter.createGatewayServerAndStartScript(PySparkInterpreter.java:209) at org.apache.zeppelin.spark.PySparkInterpreter.open(PySparkInterpreter.java:163) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69) at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:493) at org.apache.zeppelin.scheduler.Job.run(Job.java:175) at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745){color} Not sure why impersonation is even though Zeppelin Shell interpreter is able to pick up my user and also i have even tried wit the below from zeppelin-env.sh but it is still the same: export ZEPPELIN_IMPERSONATE_CMD='sudo -H -u ${ZEPPELIN_IMPERSONATE_USER} bash -c ' export ZEPPELIN_IMPERSONATE_SPARK_PROXY_USER=true is there any known workaround for this or any related information will help. -- This message was sent by Atlassian JIRA (v6.4.14#64029)