Hello,

Sorry for the spam, but i got it working after copying all scala libraries
from another interpreter to the interpreter/flink directory. so i think the
error is the scala libraries are missing from the binary release in the
zeppelin/interpreters/flink/ directory. For now i'm adding the copy
commands to the dockerfile, but I'm sure this is not the proper way to fix
it, but i don't know maven enough to understand why the scala libs are
missing for the flink interpreter but not for the ignite interpreter.

I'm also unable to figure out why a local interpreter worked fine given the
missing libraries ...

greetings,
Frank


On Thu, Aug 25, 2016 at 3:08 PM, Frank Dekervel <ker...@gmail.com> wrote:

> Hello,
>
> For reference, below is the dockerfile i used to build the zeppelin image
> (basically just openjdk 8 with the latest binary release of zeppelin)
> the "docker-entrypoint.sh" script is just starting zeppelin.sh (oneliner)
>
> FROM openjdk:alpine
>
> RUN apk add --no-cache bash snappy
>
> ARG ZEPPELIN_VERSION=0.6.1
>
> ARG INSTALL_PATH=/opt
> ENV APP_HOME $INSTALL_PATH/zeppelin
> ENV PATH $PATH:$APP_HOME/bin
>
> RUN set -x && \
>   mkdir -p $INSTALL_PATH && \
>   apk --update add --virtual build-dependencies curl && \
>   curl -s $(curl -s https://www.apache.org/dyn/
> closer.cgi\?preferred\=true)/zeppelin/zeppelin-0.6.1/
> zeppelin-$ZEPPELIN_VERSION-bin-all.tgz | \
>   tar xvz -C $INSTALL_PATH && \
>   ln -s $INSTALL_PATH/zeppelin-$ZEPPELIN_VERSION-bin-all $APP_HOME && \
>   addgroup -S zeppelin && adduser -D -S -H -G zeppelin -h $APP_HOME
> zeppelin && \
>   chown -R zeppelin:zeppelin $INSTALL_PATH && \
>   chown -h zeppelin:zeppelin $APP_HOME && \
>   apk del build-dependencies && \
>   rm -rf /var/cache/apk/*
>
> # Configure container
> USER zeppelin
> ADD docker-entrypoint.sh $APP_HOME/bin/
> ENTRYPOINT ["docker-entrypoint.sh"]
> CMD ["sh", "-c"]
>
> greetings,
> Frank
>
>
> On Thu, Aug 25, 2016 at 2:58 PM, Frank Dekervel <ker...@gmail.com> wrote:
>
>> Hello Trevor,
>>
>> Thanks for your suggestion. The log does not explain a lot: on the flink
>> side i don't see anything at all, on the zeppelin side i see this:
>> Your suggestion sounds plausible, as i always start zeppelin, and then
>> change the configuration from local to remote.. however, port 6123 locally
>> doesn't seem to be open
>>
>> ==> zeppelin--94490c51d71e.log <==
>>  INFO [2016-08-25 12:53:24,168] ({qtp846063400-48}
>> InterpreterFactory.java[createInterpretersForNote]:576) - Create
>> interpreter instance flink for note 2BW8NMCKW
>>  INFO [2016-08-25 12:53:24,168] ({qtp846063400-48}
>> InterpreterFactory.java[createInterpretersForNote]:606) - Interpreter
>> org.apache.zeppelin.flink.FlinkInterpreter 795344042 created
>>  INFO [2016-08-25 12:53:24,169] ({pool-1-thread-3}
>> SchedulerFactory.java[jobStarted]:131) - Job
>> paragraph_1471964818018_1833520437 started by scheduler
>> org.apache.zeppelin.interpreter.remote.RemoteInterpretershar
>> ed_session513606587
>>  INFO [2016-08-25 12:53:24,170] ({pool-1-thread-3}
>> Paragraph.java[jobRun]:252) - run paragraph 20160823-150658_99117457 using
>> null org.apache.zeppelin.interpreter.LazyOpenInterpreter@2f67fcaa
>>  INFO [2016-08-25 12:53:24,170] ({pool-1-thread-3}
>> RemoteInterpreterProcess.java[reference]:148) - Run interpreter process
>> [/opt/zeppelin/bin/interpreter.sh, -d, /opt/zeppelin/interpreter/flink,
>> -p, 45769, -l, /opt/zeppelin/local-repo/2BVEQGGEN]
>>  INFO [2016-08-25 12:53:24,672] ({pool-1-thread-3}
>> RemoteInterpreter.java[init]:170) - Create remote interpreter
>> org.apache.zeppelin.flink.FlinkInterpreter
>>
>> after doing %flink, i see this in ps auxw:
>>
>>  /usr/lib/jvm/java-1.8-openjdk/bin/java -Dfile.encoding=UTF-8
>> -Dlog4j.configuration=file:///opt/zeppelin/conf/log4j.properties
>> -Dzeppelin.log.file=/opt/zeppelin/logs/zeppelin-interpreter-flink--94490c51d71e.log
>> -Xms1024m -Xmx1024m -XX:MaxPermSize=512m -cp ::/opt/zeppelin/interpreter/fl
>> ink/*::/opt/zeppelin/lib/zeppelin-interpreter-0.6.1.jar
>> org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer 45769
>>
>> /usr/lib/jvm/java-1.8-openjdk/bin/java -Dfile.encoding=UTF-8 -Xms1024m
>> -Xmx1024m -XX:MaxPermSize=512m -Dlog4j.configuration=file:///
>> opt/zeppelin/conf/log4j.properties -Dzeppelin.log.file=/opt/zeppe
>> lin/logs/zeppelin--94490c51d71e.log -cp 
>> ::/opt/zeppelin/lib/*:/opt/zeppelin/*::/opt/zeppelin/conf
>> org.apache.zeppelin.server.ZeppelinServer
>>
>> the stdout of zeppelin flink process after doing a stackdump looks like
>> this (note the exception, i didn't notice it before)
>>
>> zeppelin_1     | Exception in thread "pool-1-thread-2"
>> java.lang.NoClassDefFoundError: scala/collection/Seq
>> zeppelin_1     |        at java.lang.Class.forName0(Native Method)
>> zeppelin_1     |        at java.lang.Class.forName(Class.java:264)
>> zeppelin_1     |        at org.apache.zeppelin.interprete
>> r.remote.RemoteInterpreterServer.createInterpreter(RemoteInt
>> erpreterServer.java:148)
>> zeppelin_1     |        at org.apache.zeppelin.interprete
>> r.thrift.RemoteInterpreterService$Processor$
>> createInterpreter.getResult(RemoteInterpreterService.java:1409)
>> zeppelin_1     |        at org.apache.zeppelin.interprete
>> r.thrift.RemoteInterpreterService$Processor$
>> createInterpreter.getResult(RemoteInterpreterService.java:1394)
>> zeppelin_1     |        at org.apache.thrift.ProcessFunct
>> ion.process(ProcessFunction.java:39)
>> zeppelin_1     |        at org.apache.thrift.TBaseProcess
>> or.process(TBaseProcessor.java:39)
>> zeppelin_1     |        at org.apache.thrift.server.TThre
>> adPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> zeppelin_1     |        at java.lang.Thread.run(Thread.java:745)
>> zeppelin_1     | Caused by: java.lang.ClassNotFoundException:
>> scala.collection.Seq
>> zeppelin_1     |        at java.net.URLClassLoader.findCl
>> ass(URLClassLoader.java:381)
>> zeppelin_1     |        at java.lang.ClassLoader.loadClas
>> s(ClassLoader.java:424)
>> zeppelin_1     |        at sun.misc.Launcher$AppClassLoad
>> er.loadClass(Launcher.java:331)
>> zeppelin_1     |        at java.lang.ClassLoader.loadClas
>> s(ClassLoader.java:357)
>> zeppelin_1     |        ... 11 more
>> zeppelin_1     | 2016-08-25 12:56:03
>> zeppelin_1     | Full thread dump OpenJDK 64-Bit Server VM (25.92-b14
>> mixed mode):
>> zeppelin_1     |
>> zeppelin_1     | "pool-1-thread-5" #15 prio=5 os_prio=0
>> tid=0x00005567976e8000 nid=0x108 waiting on condition [0x00007fa83ca8d000]
>> zeppelin_1     |    java.lang.Thread.State: WAITING (parking)
>> zeppelin_1     |        at sun.misc.Unsafe.park(Native Method)
>> zeppelin_1     |        - parking to wait for  <0x00000000ebc3dae0> (a
>> java.util.concurrent.SynchronousQueue$TransferStack)
>> zeppelin_1     |        at java.util.concurrent.locks.Loc
>> kSupport.park(LockSupport.java:175)
>> zeppelin_1     |        at java.util.concurrent.Synchrono
>> usQueue$TransferStack.awaitFulfill(SynchronousQueue.java:458)
>> zeppelin_1     |        at java.util.concurrent.Synchrono
>> usQueue$TransferStack.transfer(SynchronousQueue.java:362)
>> zeppelin_1     |        at java.util.concurrent.Synchrono
>> usQueue.take(SynchronousQueue.java:924)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor.getTask(ThreadPoolExecutor.java:1067)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor.runWorker(ThreadPoolExecutor.java:1127)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> zeppelin_1     |        at java.lang.Thread.run(Thread.java:745)
>> zeppelin_1     |
>> zeppelin_1     | "pool-1-thread-4" #14 prio=5 os_prio=0
>> tid=0x0000556797874800 nid=0x107 in Object.wait() [0x00007fa83cb8d000]
>> zeppelin_1     |    java.lang.Thread.State: TIMED_WAITING (on object
>> monitor)
>> zeppelin_1     |        at java.lang.Object.wait(Native Method)
>> zeppelin_1     |        - waiting on <0x00000000eba208c0> (a
>> java.util.LinkedList)
>> zeppelin_1     |        at org.apache.zeppelin.interprete
>> r.remote.RemoteInterpreterEventClient.pollEvent(RemoteInterp
>> reterEventClient.java:200)
>> zeppelin_1     |        - locked <0x00000000eba208c0> (a
>> java.util.LinkedList)
>> zeppelin_1     |        at org.apache.zeppelin.interprete
>> r.remote.RemoteInterpreterServer.getEvent(RemoteInterpreterS
>> erver.java:543)
>> zeppelin_1     |        at org.apache.zeppelin.interprete
>> r.thrift.RemoteInterpreterService$Processor$getEvent.
>> getResult(RemoteInterpreterService.java:1610)
>> zeppelin_1     |        at org.apache.zeppelin.interprete
>> r.thrift.RemoteInterpreterService$Processor$getEvent.
>> getResult(RemoteInterpreterService.java:1595)
>> zeppelin_1     |        at org.apache.thrift.ProcessFunct
>> ion.process(ProcessFunction.java:39)
>> zeppelin_1     |        at org.apache.thrift.TBaseProcess
>> or.process(TBaseProcessor.java:39)
>> zeppelin_1     |        at org.apache.thrift.server.TThre
>> adPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> zeppelin_1     |        at java.lang.Thread.run(Thread.java:745)
>> zeppelin_1     |
>> zeppelin_1     | "pool-1-thread-3" #13 prio=5 os_prio=0
>> tid=0x0000556797871800 nid=0x106 runnable [0x00007fa83cc8e000]
>> zeppelin_1     |    java.lang.Thread.State: RUNNABLE
>> zeppelin_1     |        at java.net.SocketInputStream.socketRead0(Native
>> Method)
>> zeppelin_1     |        at java.net.SocketInputStream.soc
>> ketRead(SocketInputStream.java:116)
>> zeppelin_1     |        at java.net.SocketInputStream.rea
>> d(SocketInputStream.java:170)
>> zeppelin_1     |        at java.net.SocketInputStream.rea
>> d(SocketInputStream.java:141)
>> zeppelin_1     |        at java.io.BufferedInputStream.fi
>> ll(BufferedInputStream.java:246)
>> zeppelin_1     |        at java.io.BufferedInputStream.re
>> ad1(BufferedInputStream.java:286)
>> zeppelin_1     |        at java.io.BufferedInputStream.re
>> ad(BufferedInputStream.java:345)
>> zeppelin_1     |        - locked <0x00000000ebfb7be0> (a
>> java.io.BufferedInputStream)
>> zeppelin_1     |        at org.apache.thrift.transport.TI
>> OStreamTransport.read(TIOStreamTransport.java:127)
>> zeppelin_1     |        at org.apache.thrift.transport.TT
>> ransport.readAll(TTransport.java:86)
>> zeppelin_1     |        at org.apache.thrift.protocol.TBi
>> naryProtocol.readAll(TBinaryProtocol.java:429)
>> zeppelin_1     |        at org.apache.thrift.protocol.TBi
>> naryProtocol.readI32(TBinaryProtocol.java:318)
>> zeppelin_1     |        at org.apache.thrift.protocol.TBi
>> naryProtocol.readMessageBegin(TBinaryProtocol.java:219)
>> zeppelin_1     |        at org.apache.thrift.TBaseProcess
>> or.process(TBaseProcessor.java:27)
>> zeppelin_1     |        at org.apache.thrift.server.TThre
>> adPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> zeppelin_1     |        at java.util.concurrent.ThreadPoo
>> lExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> zeppelin_1     |        at java.lang.Thread.run(Thread.java:745)
>>
>>
>> the local port 6123 is closed (it is open on the jobmanager tho)
>>
>> bash-4.3$ telnet localhost 6123
>> telnet: can't connect to remote host (127.0.0.1): Connection refused
>>
>> thanks!
>> greetings,
>> Frank
>>
>>
>>
>>
>>
>> On Wed, Aug 24, 2016 at 5:15 PM, Trevor Grant <trevor.d.gr...@gmail.com>
>> wrote:
>>
>>> Frank,
>>>
>>> can you post the zeppelin flink log please?
>>>
>>> You can probably find it in zeppelin_dir/logs/*flink*.log
>>>
>>> You've got a few moving pieces here.  I've never run zeppelin against
>>> Flink in a docker container.   But I think the Zeppelin-Flink log is the
>>> first place to look.
>>>
>>> You say you can't get Zeppelin to work in local mode either right? Just
>>> curious, is Zeppelin running in a docker too?
>>>
>>> Thanks,
>>> tg
>>>
>>>
>>> Trevor Grant
>>> Data Scientist
>>> https://github.com/rawkintrevo
>>> http://stackexchange.com/users/3002022/rawkintrevo
>>> http://trevorgrant.org
>>>
>>> *"Fortunate is he, who is able to know the causes of things."  -Virgil*
>>>
>>>
>>> On Wed, Aug 24, 2016 at 6:50 AM, Maximilian Michels <m...@apache.org>
>>> wrote:
>>>
>>>> Hi!
>>>>
>>>> There are some people familiar with the Zeppelin integration. CCing
>>>> Till and Trevor. Otherwise, you could also send this to the Zeppelin
>>>> community.
>>>>
>>>> Cheers,
>>>> Max
>>>>
>>>> On Wed, Aug 24, 2016 at 12:58 PM, Frank Dekervel <ker...@gmail.com>
>>>> wrote:
>>>> > Hello,
>>>> >
>>>> > for reference:
>>>> >
>>>> > i already found out that "connect to existing process" was my error
>>>> here: it
>>>> > means connecting to an existing zeppelin interpreter, not an existing
>>>> flink
>>>> > cluster. After fixing my error, i'm now in the same situation as
>>>> described
>>>> > here:
>>>> >
>>>> > https://stackoverflow.com/questions/38688277/flink-zeppelin-
>>>> not-responding
>>>> >
>>>> > i guess it's more a zeppelin problem than a flink problem tho, as i
>>>> see both
>>>> > interpreter JVM and main zeppelin JVM waiting on thrift input (so it
>>>> seems
>>>> > they are waiting for each other)
>>>> >
>>>> > greetings,
>>>> > Frank
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > On Tue, Aug 23, 2016 at 2:09 PM, Frank Dekervel <ker...@gmail.com>
>>>> wrote:
>>>> >>
>>>> >> Hello,
>>>> >>
>>>> >> I try to set up apache zeppelin with a flink cluster (one
>>>> jobmanager, one
>>>> >> task manager).
>>>> >>
>>>> >> What i did was using the dockerfiles in flink-contrib/docker-flink +
>>>> the
>>>> >> latest binary release of apache zeppelin with all interpreters:
>>>> >>
>>>> >>
>>>> >> https://github.com/apache/flink/blob/master/flink-contrib/do
>>>> cker-flink/Dockerfile
>>>> >> (i changed the flink version to 1.0.3 to match zeppelin's flink
>>>> version)
>>>> >>
>>>> >> I built another docker image around the latest binary release of
>>>> zeppelin
>>>> >> (with all interpreters), and i reconfigure the flink interpreter:
>>>> >>
>>>> >> connect to existing process
>>>> >> host: jobmanager, port: 6123
>>>> >> i removed all other properties
>>>> >>
>>>> >> when i try to submit a flink job, i get an error state and the
>>>> following
>>>> >> exception appears in the log (nothing appears in the jobmanager log)
>>>> >>
>>>> >> ERROR [2016-08-23 11:44:57,932] ({Thread-16}
>>>> >> JobProgressPoller.java[run]:54) - Can not get or update progress
>>>> >> org.apache.zeppelin.interpreter.InterpreterException:
>>>> >> org.apache.thrift.transport.TTransportException
>>>> >>         at
>>>> >> org.apache.zeppelin.interpreter.remote.RemoteInterpreter.get
>>>> Progress(RemoteInterpreter.java:373)
>>>> >>         at
>>>> >> org.apache.zeppelin.interpreter.LazyOpenInterpreter.getProgr
>>>> ess(LazyOpenInterpreter.java:111)
>>>> >>         at
>>>> >> org.apache.zeppelin.notebook.Paragraph.progress(Paragraph.java:237)
>>>> >>         at
>>>> >> org.apache.zeppelin.scheduler.JobProgressPoller.run(JobProgr
>>>> essPoller.java:51)
>>>> >> Caused by: org.apache.thrift.transport.TTransportException
>>>> >>         at
>>>> >> org.apache.thrift.transport.TIOStreamTransport.read(TIOStrea
>>>> mTransport.java:132)
>>>> >>         at
>>>> >> org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
>>>> >>         at
>>>> >> org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryPr
>>>> otocol.java:429)
>>>> >>         at
>>>> >> org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryPr
>>>> otocol.java:318)
>>>> >>         at
>>>> >> org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(
>>>> TBinaryProtocol.java:219)
>>>> >>         at
>>>> >> org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
>>>> >>         at
>>>> >> org.apache.zeppelin.interpreter.thrift.RemoteInterpreterServ
>>>> ice$Client.recv_getProgress(RemoteInterpreterService.java:296)
>>>> >>         at
>>>> >> org.apache.zeppelin.interpreter.thrift.RemoteInterpreterServ
>>>> ice$Client.getProgress(RemoteInterpreterService.java:281)
>>>> >>         at
>>>> >> org.apache.zeppelin.interpreter.remote.RemoteInterpreter.get
>>>> Progress(RemoteInterpreter.java:370)
>>>> >>         ... 3 more
>>>> >>
>>>> >> Flink in local mode works fine on zeppelin.
>>>> >> Could somebody point me to what i'm doing wrong ?
>>>> >>
>>>> >> Thanks a lot!
>>>> >> Frank
>>>> >>
>>>> >>
>>>> >>
>>>> >
>>>>
>>>
>>>
>>
>

Reply via email to