Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
- docker
- jdk-8
- hadoop v2.7.3 binary package from web
- zeppelin v0.6.1 binary package from web
- hive v2.1.0 binary package from web
Description
Environment set up:
- one docker container running Hadoop in pseudo-cluster mode
- one docker container running Hive2
- one docker container running Zeppelin
After Zeppelin startup, I updated the jdbc interpreter to use hive.url=jdbc:hive2://hive:1000. And I added the following dependencies:
- org.apache.hive:hive-jdbc:2.1.0
- org.apache.hadoop:hadoop-common:2.7.3
After I saved the configuration, I created a new notebook and executed:
%jdbc(hive) show tables
But I got:
java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:182) at org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:51) at org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:37) at org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:60) at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:861) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363) at org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.getClient(RemoteInterpreterProcess.java:189) at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.init(RemoteInterpreter.java:163) at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:328) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.getFormType(LazyOpenInterpreter.java:105) at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:260) at org.apache.zeppelin.scheduler.Job.run(Job.java:176) at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:328) 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)
In the ./logs directory, I did not find a zeppelin-*-jdbc*.log file, which I think a clear indication that the interpreter never gets created.
Here's some snippet of the zeppelin*.log file:
INFO [2016-10-14 02:35:28,480] ({qtp88558700-16} DependencyResolver.java[load]:100) - copy /opt/zeppelin/local-repo/io/netty/netty/3.6.2.Final/netty-3.6.2.Final.jar to /opt/zeppelin/local-repo/2BY2TS152
INFO [2016-10-14 02:35:28,481] ({qtp88558700-16} DependencyResolver.java[load]:100) - copy /opt/zeppelin/local-repo/org/apache/commons/commons-compress/1.4.1/commons-compress-1.4.1.jar to /opt/zeppelin/local-repo/2BY2TS152
INFO [2016-10-14 02:35:28,481] ({qtp88558700-16} DependencyResolver.java[load]:100) - copy /opt/zeppelin/local-repo/org/tukaani/xz/1.0/xz-1.0.jar to /opt/zeppelin/local-repo/2BY2TS152
INFO [2016-10-14 02:35:28,567] ({qtp88558700-459} InterpreterFactory.java[createInterpretersForNote]:576) - Create interpreter instance jdbc for note 2BYEFJRDP
INFO [2016-10-14 02:35:28,567] ({qtp88558700-459} InterpreterFactory.java[createInterpretersForNote]:606) - Interpreter org.apache.zeppelin.jdbc.JDBCInterpreter 1044622404 created
INFO [2016-10-14 02:35:28,583] ({pool-1-thread-7} SchedulerFactory.java[jobStarted]:131) - Job paragraph_1476353914739_-698717456 started by scheduler org.apache.zeppelin.interpreter.remote.RemoteInterpretershared_session1000964802
INFO [2016-10-14 02:35:28,584] ({pool-1-thread-7} Paragraph.java[jobRun]:252) - run paragraph 20161013-101834_778249242 using jdbc org.apache.zeppelin.interpreter.LazyOpenInterpreter@3e43ac44
INFO [2016-10-14 02:35:28,591] ({pool-1-thread-7} RemoteInterpreterProcess.java[reference]:148) - Run interpreter process [/opt/zeppelin/bin/interpreter.sh, -d, /opt/zeppelin/interpreter/jdbc, -p, 33939, -l, /opt/zeppelin/local-repo/2BY2TS152]
INFO [2016-10-14 02:35:28,726] ({qtp88558700-14} NotebookServer.java[onClose]:227) - Closed connection to 192.168.99.1 : 61687. (1006) EOF: Broken pipe
ERROR [2016-10-14 02:35:28,757] ({qtp88558700-14} NotebookServer.java[onMessage]:221) - Can't handle message
java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:966)
at java.util.LinkedList$ListItr.next(LinkedList.java:888)
at org.apache.zeppelin.socket.NotebookServer.broadcast(NotebookServer.java:316)
at org.apache.zeppelin.socket.NotebookServer.updateParagraph(NotebookServer.java:602)
at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:174)
at org.apache.zeppelin.socket.NotebookSocket.onWebSocketText(NotebookSocket.java:56)
I think this one corresponds to the one I saw from the web UI:
Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:182) ... 9 more