I'm trying to install CassandraInterpreter on Zeppelin. As in documention is said I did:
bin/install-interpreter.sh --name cassandra
Which made cassandra folder with all dependecies. I have some concerns now. I'm using open-source cassandra 3.10. and Zeppelin version 0.7.0. As I saw by dependecies Zeppelin is downloading cassandra-deriver of datastax and I'm not using Datastaxs Cassandra.
Furthermore, I added Cassandra as Intepreter and made my first script:
%cassandra
HELP;
And something ugly happend:
INFO [2017-06-01 12:50:42,695] ({pool-2-thread-2} SchedulerFactory.java[jobFinished]:137) - Job remoteInterpretJob_1496314241621 finished by scheduler org.apache.zeppelin.cassandra.CassandraInterpreter116220$
INFO [2017-06-01 12:54:01,128] ({pool-1-thread-2} InterpreterGroup.java[close]:156) - Close interpreter group 2CJDRW3SU:shared_process
INFO [2017-06-01 12:59:10,327] ({Thread-0} RemoteInterpreterServer.java[run]:95) - Starting remote interpreter server on port 39611
INFO [2017-06-01 12:59:10,836] ({pool-1-thread-2} RemoteInterpreterServer.java[createInterpreter]:190) - Instantiate interpreter org.apache.zeppelin.cassandra.CassandraInterpreter
INFO [2017-06-01 12:59:10,930] ({pool-2-thread-2} SchedulerFactory.java[jobStarted]:131) - Job remoteInterpretJob_1496314750927 started by scheduler org.apache.zeppelin.cassandra.CassandraInterpreter15405091$
INFO [2017-06-01 12:59:10,936] ({pool-2-thread-2} CassandraInterpreter.java[open]:164) - Bootstrapping Cassandra Java Driver to connect to 10.60.213.61,on port 9042
INFO [2017-06-01 12:59:11,281] ({pool-2-thread-2} NettyUtil.java[<clinit>]:83) - Did not find Netty's native epoll transport in the classpath, defaulting to NIO.
INFO [2017-06-01 12:59:11,880] ({pool-2-thread-2} DCAwareRoundRobinPolicy.java[init]:95) - Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy (if this is incorrect, please provide the correct d$
INFO [2017-06-01 12:59:11,882] ({pool-2-thread-2} Cluster.java[init]:1485) - New Cassandra host /xx.xx.xxx.xx:9042 added
INFO [2017-06-01 12:59:11,883] ({pool-2-thread-2} Cluster.java[init]:1485) - New Cassandra host /xx.xx.xxx.xx:9042 added
INFO [2017-06-01 12:59:11,883] ({pool-2-thread-2} Cluster.java[init]:1485) - New Cassandra host /xx.xx.xxx.xx:9042 added
INFO [2017-06-01 12:59:11,883] ({pool-2-thread-2} Cluster.java[init]:1485) - New Cassandra host /xx.xx.xxx.xx:9042 added
INFO [2017-06-01 12:59:11,883] ({pool-2-thread-2} Cluster.java[init]:1485) - New Cassandra host /xx.xx.xxx.xx:9042 added
INFO [2017-06-01 12:59:11,884] ({pool-2-thread-2} Cluster.java[init]:1485) - New Cassandra host /xx.xx.xxx.xx:9042 added
ERROR [2017-06-01 12:59:11,991] ({pool-2-thread-2} Job.java[run]:188) - Job failed
java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
at org.fusesource.scalate.TemplateEngine.<init>(TemplateEngine.scala:170)
at org.apache.zeppelin.cassandra.DisplaySystem$.<init>(DisplaySystem.scala:37)
at org.apache.zeppelin.cassandra.DisplaySystem$.<clinit>(DisplaySystem.scala)
at org.apache.zeppelin.cassandra.DisplaySystem$NoResultDisplay$.<init>(DisplaySystem.scala:369)
at org.apache.zeppelin.cassandra.DisplaySystem$NoResultDisplay$.<clinit>(DisplaySystem.scala)
at org.apache.zeppelin.cassandra.EnhancedSession.<init>(EnhancedSession.scala:40)
at org.apache.zeppelin.cassandra.InterpreterLogic.<init>(InterpreterLogic.scala:98)
at org.apache.zeppelin.cassandra.CassandraInterpreter.open(CassandraInterpreter.java:189)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:482)
at org.apache.zeppelin.scheduler.Job.run(Job.java:175)
at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
As I see, its problem in Scala version which is by default I mean 2.10.5 and Zeppelin is downloading the same. I tried so swap whole scala with 2.12.0 and I got error about Display... also scala error. Any ideas?
I'm suspecting on missmatch of Cassandra drivers since I have open-source Cassandra and driver is for Datastax and I cannot find the one for open-source.
So in order to install cassandra driver, you need to change little bit interpreter jars. In order to this, after you installed cassandra via zeppelin interpreter you need to go in your
ZEPPELIN_HOME/zeppelin-server/interpreter/cassandra
Afterwards you need this libs ->
cassandra-driver-core-3.0.1.jar netty-common-4.0.33.Final.jar
scalate-core_2.11-1.7.1.jar commons-lang3-3.3.2.jar
netty-handler-4.0.33.Final.jar scalate-util_2.11-1.7.1.jar
guava-16.0.1.jar
netty-transport-4.0.33.Final.jar
scala-xml_2.11-1.0.1.jar
lz4-1.3.0.jar
scala-compiler-2.11.2.jar
slf4j-api-1.7.10.jar
metrics-core-3.1.2.jar
scala-library-2.11.2.jar
snappy-java-1.0.5.4.jar
netty-buffer-4.0.33.Final.jar
scala-parser-combinators_2.11-1.0.1.jar
zeppelin-cassandra_2.11-0.7.2.jar
netty-codec-4.0.33.Final.jar
scala-reflect-2.11.2.jar
It will work fine when after this change, just restart interpreter.