Varad Karmarkar created ZEPPELIN-4804: -----------------------------------------
Summary: Unable to start Spark Interpreter on Kubernetes Key: ZEPPELIN-4804 URL: https://issues.apache.org/jira/browse/ZEPPELIN-4804 Project: Zeppelin Issue Type: Bug Components: Kubernetes, spark Reporter: Varad Karmarkar Hi team, I'm trying to install Zeppelin on AWS EKS. When I try spinning up a Spark Interpreter pod (running just sc.version), it fails and says that there are no interpreters running. The pod's log includes the command: /opt/spark/bin/spark-submit --class org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer --driver-class-path ":/zeppelin/interpreter/spark/*::/zeppelin/interpreter/zeppelin-interpreter-shaded-0.9.0-preview1.jar:/zeppelin/interpreter/spark/spark-interpreter-0.9.0-preview1.jar" --driver-java-options " -Dfile.encoding=UTF-8 -Dlog4j.configuration=file:///zeppelin/conf/log4j.properties -Dzeppelin.log.file='/zeppelin/logs/zeppelin-interpreter-spark-shared_process--spark-refljc.log'" --conf spark.jars.ivy=/tmp/.ivy +_*--master k8s://https://kubernetes.default.svc*_+ --deploy-mode client --driver-memory 1g --conf spark.kubernetes.namespace=default conf spark.executor.instances=1 --conf spark.kubernetes.driver.pod.name=spark-refljc --conf spark.kubernetes.container.image=stx-app-docker-prod-local.artifactory.dbgcloud.io/spark:2.4.5 --conf spark.driver.bindAddress=0.0.0.0 --conf spark.driver.host=spark-refljc.default.svc --conf spark.driver.port=22321 --conf spark.blockManager.port=22322 /zeppelin/interpreter/spark/spark-interpreter-0.9.0-preview1.jar zeppelin-server-695446f7c6-cxd59.default.svc 12320 "spark-shared_process" 12321:12321 As I've highlighted, the default master address is being passed in, but this shouldn't be - I've set the MASTER env variable to my cluster's API server and this is being overriden. I followed the stacktraceinto the code and found that the function BuildSparkSubmitOptions ([https://github.com/apache/zeppelin/blob/master/zeppelin-plugins/launcher/k8s-standard/src/main/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcess.java#L337]) is being called, where the line options.append(" --master k8s://https://kubernetes.default.svc"); appears to hardcode this value in. Is this assumption correct? If so, it would explain why I'm not able to run Spark, as the Zeppelin pod isn't able to find the API server, since the default value is being hardcoded in. I believe that in order for me to fix the issue myself, I would need to remove the line where the master is being set and re-build zeppelin, right? -- This message was sent by Atlassian Jira (v8.3.4#803005)