Please add the *export SPARK_SUBMIT_OPTIONS="--conf
spark.authenticate.secret=secret"* in conf/zeppelin-env.sh and restart
zeppelin and retry your code.


2016-06-30 23:34 GMT+09:00 Jonathan Esterhazy <jonathan.esterh...@gmail.com>
:

> yes it does. i only see this problem in zeppelin.
>
> On Thu, Jun 30, 2016 at 7:05 AM, Hyung Sung Shim <hss...@nflabs.com>
> wrote:
>
>> Hi Jonathan.
>> It's not easy to build the test environments but I am working on this.
>> I have question for you.
>> Does your code working well on spark-shell in the spark.authenticate mode?
>>
>> 2016-06-30 22:47 GMT+09:00 Jonathan Esterhazy <
>> jonathan.esterh...@gmail.com>:
>>
>>> Hyung, did you have any luck w/ zeppelin + spark authentication? I'm
>>> quite stumped.
>>>
>>> thx.
>>>
>>> On Tue, Jun 28, 2016 at 9:11 PM, Hyung Sung Shim <hss...@nflabs.com>
>>> wrote:
>>>
>>>> Thank you.
>>>> Let me try.
>>>>
>>>> 2016-06-28 22:18 GMT+09:00 Jonathan Esterhazy <
>>>> jonathan.esterh...@gmail.com>:
>>>>
>>>>> Hyung,
>>>>>
>>>>> Yes, here they are.
>>>>>
>>>>> zeppelin-env.sh:
>>>>>
>>>>> export ZEPPELIN_PORT=8890
>>>>> export ZEPPELIN_CONF_DIR=/etc/zeppelin/conf
>>>>> export ZEPPELIN_LOG_DIR=/var/log/zeppelin
>>>>> export ZEPPELIN_PID_DIR=/var/run/zeppelin
>>>>> export ZEPPELIN_PID=$ZEPPELIN_PID_DIR/zeppelin.pid
>>>>> export ZEPPELIN_NOTEBOOK_DIR=/var/lib/zeppelin/notebook
>>>>> export ZEPPELIN_WAR_TEMPDIR=/var/run/zeppelin/webapps
>>>>> export MASTER=yarn-client
>>>>> export SPARK_HOME=/usr/lib/spark
>>>>> export HADOOP_CONF_DIR=/etc/hadoop/conf
>>>>> export
>>>>> CLASSPATH=":/etc/hive/conf:/usr/lib/hadoop-lzo/lib/*:/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/share/aws/emr/emrfs/lib/*
>>>>> :/usr/share/aws/emr/emrfs/auxlib/*"
>>>>> export JAVA_HOME=/usr/lib/jvm/java-1.8.0
>>>>> export ZEPPELIN_NOTEBOOK_S3_BUCKET=mybucket
>>>>> export ZEPPELIN_NOTEBOOK_S3_USER=zeppelin
>>>>> export
>>>>> ZEPPELIN_NOTEBOOK_STORAGE=org.apache.zeppelin.notebook.repo.S3NotebookRepo
>>>>>
>>>>> spark-defaults.conf:
>>>>>
>>>>> spark.master                     yarn
>>>>> spark.driver.extraClassPath
>>>>>  
>>>>> /etc/hadoop/conf:/etc/hive/conf:/usr/lib/hadoop-lzo/lib/*:/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf
>>>>> :/usr/share/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*
>>>>> spark.driver.extraLibraryPath
>>>>>  /usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native
>>>>> spark.executor.extraClassPath
>>>>>  
>>>>> /etc/hadoop/conf:/etc/hive/conf:/usr/lib/hadoop-lzo/lib/*:/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf
>>>>> :/usr/share/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*
>>>>> spark.executor.extraLibraryPath
>>>>>  /usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native
>>>>> spark.eventLog.enabled           true
>>>>> spark.eventLog.dir               hdfs:///var/log/spark/apps
>>>>> spark.history.fs.logDirectory    hdfs:///var/log/spark/apps
>>>>> spark.yarn.historyServer.address ip-172-30-54-30.ec2.internal:18080
>>>>> spark.history.ui.port            18080
>>>>> spark.shuffle.service.enabled    true
>>>>> spark.driver.extraJavaOptions
>>>>>  -Dlog4j.configuration=file:///etc/spark/conf/log4j.properties
>>>>> -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70
>>>>> -XX:MaxHeapFreeRatio=70
>>>>> -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=512M
>>>>> -XX:OnOutOfMemoryError='kill -9 %p'
>>>>> spark.dynamicAllocation.enabled  true
>>>>> spark.executor.extraJavaOptions  -verbose:gc -XX:+PrintGCDetails
>>>>> -XX:+PrintGCDateStamps -XX:+UseConcMarkSweepGC
>>>>> -XX:CMSInitiatingOccupancyFraction=70 -XX:MaxHeapFreeRatio=70 -XX:+CM
>>>>> SClassUnloadingEnabled -XX:OnOutOfMemoryError='kill -9 %p'
>>>>> spark.executor.memory            8640m
>>>>> spark.executor.cores             7
>>>>> spark.authenticate.enableSaslEncryption true
>>>>> spark.driver.memory              1g
>>>>> spark.network.sasl.serverAlwaysEncrypt true
>>>>> spark.driver.cores               1
>>>>> spark.ssl.protocol               TLSv1.2
>>>>> spark.ssl.keyStorePassword       password
>>>>> spark.yarn.maxAppAttempts        1
>>>>> spark.ssl.keyStore               /etc/emr/security/keystore.jks
>>>>> spark.authenticate               true
>>>>> spark.ssl.keyPassword            password
>>>>> spark.ssl.enabled                true
>>>>> spark.ssl.enabledAlgorithms      TLS_RSA_WITH_AES_256_CBC_SHA
>>>>> spark.ssl.trustStore             /etc/emr/security/truststore.jks
>>>>> spark.authenticate.secret        secret
>>>>> spark.ssl.trustStorePassword     password
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Jun 27, 2016 at 7:33 PM, Hyung Sung Shim <hss...@nflabs.com>
>>>>> wrote:
>>>>>
>>>>>> Hi.
>>>>>> Could you share your conf/zeppelin-env.sh and spark-defaults.conf ?
>>>>>>
>>>>>> 2016-06-28 8:52 GMT+09:00 Jonathan Esterhazy <
>>>>>> jonathan.esterh...@gmail.com>:
>>>>>>
>>>>>>> I am having trouble using zeppelin in a spark cluster that has spark
>>>>>>> node authentication turned on (e.g. with spark.authenticate=true,
>>>>>>> spark.authenticate.secret=...)
>>>>>>>
>>>>>>> Notebook code that calls built-in spark functions (or other things
>>>>>>> on executor classpath) work fine, but functions defined in the notebook
>>>>>>> (anonymous or named) throw ClassNotFoundExceptions when called from an
>>>>>>> executor.
>>>>>>>
>>>>>>> For example, this code works:
>>>>>>>
>>>>>>> val rdd = sc.textFile("hdfs://my-text-file")
>>>>>>> rdd.take(1).foreach(println)
>>>>>>>
>>>>>>> rdd.saveAsTextFile("hdfs:///my-other-text-file")
>>>>>>>
>>>>>>> but code like this...
>>>>>>>
>>>>>>> rdd.filter(_.contains("my data"))
>>>>>>>
>>>>>>> fails with
>>>>>>>
>>>>>>> Caused by: java.lang.ClassNotFoundException:
>>>>>>> $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1
>>>>>>> at
>>>>>>> org.apache.spark.repl.ExecutorClassLoader.findClass(ExecutorClassLoader.scala:84)
>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>>>> at java.lang.Class.forName0(Native Method)
>>>>>>> at java.lang.Class.forName(Class.java:348)
>>>>>>>         ...
>>>>>>>
>>>>>>>
>>>>>>> I get the same kind of error if the filter function is defined as a
>>>>>>> named function in the notebook, or as a member of singleton object 
>>>>>>> defined
>>>>>>> in the notebook.
>>>>>>>
>>>>>>> When I look at the executor's log output, I see this error:
>>>>>>>
>>>>>>> 16/06/27 21:36:23 ERROR repl.ExecutorClassLoader: Failed to check
>>>>>>> existence of class
>>>>>>> $line31.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1 on REPL
>>>>>>> class server at https://172.30.54.30:34980
>>>>>>> java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.apache.spark.repl.ExecutorClassLoader.getClassFileInputStreamFromHttpServer(ExecutorClassLoader.scala:113)
>>>>>>> at
>>>>>>> org.apache.spark.repl.ExecutorClassLoader.findClassLocally(ExecutorClassLoader.scala:146)
>>>>>>> at
>>>>>>> org.apache.spark.repl.ExecutorClassLoader.findClass(ExecutorClassLoader.scala:76)
>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>>>> at java.lang.Class.forName0(Native Method)
>>>>>>> at java.lang.Class.forName(Class.java:348)
>>>>>>>
>>>>>>>         ...
>>>>>>>
>>>>>>>
>>>>>>> If I disable spark authentication, everything works as expected. I
>>>>>>> am running zeppelin 0.5.6 on spark 1.6.1 with yarn.
>>>>>>>
>>>>>>> Has anyone been able to get zeppelin working with spark
>>>>>>> authentication?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to