Install a third-party interpreter
Zeppelin allows not only to work with community-managed interpreters, but also to install other third-party interpreters from Maven repositories. This article describes the example of installing an interpreter for Apache Solr. Make sure that this service is added to your ADH cluster before making the following steps.
NOTE
You can read more information about installing interpreters in the Zeppelin documentation.
|
Step 1. Load interpreter libraries
-
Connect to the Zeppelin Server (via SSH, etc.).
-
Run the following command to load libraries for the new
solr
interpreter:$ sudo ZEPPELIN_INTERPRETER_DEP_MVNREPO=https://repo1.maven.org/maven2 /usr/lib/zeppelin/bin/install-interpreter.sh --name solr --artifact com.lucidworks.zeppelin:zeppelin-solr:0.1.6
The result should be like this:
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/lib/zeppelin/lib/interpreter/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/zeppelin/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] Can't find interpreter list /etc/zeppelin/conf/interpreter-list Install solr(com.lucidworks.zeppelin:zeppelin-solr:0.1.6) to /usr/lib/zeppelin/interpreter/solr ... Interpreter solr installed under /usr/lib/zeppelin/interpreter/solr. 1. Restart Zeppelin 2. Create interpreter setting in 'Interpreter' menu on Zeppelin GUI 3. Then you can bind the interpreter on your note
TIPThe environment variableZEPPELIN_INTERPRETER_DEP_MVNREPO
is used to avoid the errors with dependencies resolution that can occur in Zeppelin versions older than 0.9.0. You can also assign the valuehttps://repo1.maven.org/maven2
to the environment variableZEPPELIN_INTERPRETER_DEP_MVNREPO
in the configuration file /etc/zeppelin/conf/zeppelin-env.sh and restart Zeppelin Server. -
Verify that the folder that corresponds to the new
solr
interpreter is added:$ ls -la /usr/lib/zeppelin/interpreter/solr
Sample outputtotal 39440 drwxr-xr-x. 2 root root 4096 Dec 10 09:12 . drwxr-xr-x. 31 root root 4096 Dec 10 09:12 .. -rw-r--r--. 1 root root 89616 Dec 6 15:58 aether-api-1.12.jar -rw-r--r--. 1 root root 24449 Dec 6 15:58 aether-connector-file-1.12.jar -rw-r--r--. 1 root root 29646 Dec 6 15:58 aether-connector-wagon-1.12.jar -rw-r--r--. 1 root root 129254 Dec 6 15:58 aether-impl-1.12.jar -rw-r--r--. 1 root root 15430 Dec 6 15:58 aether-spi-1.12.jar -rw-r--r--. 1 root root 126629 Dec 6 15:58 aether-util-1.12.jar -rw-r--r--. 1 root root 622849 Dec 6 15:58 bcpkix-jdk15on-1.52.jar -rw-r--r--. 1 root root 2902942 Dec 6 15:58 bcprov-jdk15on-1.52.jar -rw-r--r--. 1 root root 30085 Dec 6 15:58 commons-codec-1.2.jar -rw-r--r--. 1 root root 358048 Dec 6 15:58 commons-configuration-1.9.jar -rw-r--r--. 1 root root 54423 Dec 6 15:58 commons-exec-1.3.jar -rw-r--r--. 1 root root 305001 Dec 6 15:58 commons-httpclient-3.1.jar -rw-r--r--. 1 root root 208700 Dec 6 15:58 commons-io-2.5.jar -rw-r--r--. 1 root root 279193 Dec 6 15:58 commons-lang-2.5.jar -rw-r--r--. 1 root root 60686 Dec 6 15:58 commons-logging-1.1.1.jar -rw-r--r--. 1 root root 2213560 Dec 6 15:58 commons-math3-3.6.1.jar -rw-r--r--. 1 root root 109568 Dec 6 15:58 commons-pool2-2.3.jar -rw-r--r--. 1 root root 258075 Dec 6 15:58 gson-2.8.9.jar -rw-r--r--. 1 root root 26742 Dec 6 15:58 gson-extras-0.2.1.jar -rw-r--r--. 1 root root 2172168 Dec 6 15:58 guava-15.0.jar -rw-r--r--. 1 root root 747794 Dec 6 15:58 httpclient-4.5.3.jar -rw-r--r--. 1 root root 323824 Dec 6 15:58 httpcore-4.4.6.jar -rw-r--r--. 1 root root 41029 Dec 6 15:58 httpmime-4.5.3.jar -rw-r--r--. 1 root root 16516 Dec 6 15:58 jcl-over-slf4j-1.7.24.jar -rw-r--r--. 1 root root 213911 Dec 6 15:58 jline-2.12.1.jar -rw-r--r--. 1 root root 281579 Dec 6 15:58 jsoup-1.6.1.jar -rw-r--r--. 1 root root 227712 Dec 6 15:58 libthrift-0.9.2.jar -rw-r--r--. 1 root root 489884 Dec 6 15:58 log4j-1.2.17.jar -rw-r--r--. 1 root root 55639 Dec 6 15:58 maven-aether-provider-3.0.3.jar -rw-r--r--. 1 root root 51908 Dec 6 15:58 maven-artifact-3.0.jar -rw-r--r--. 1 root root 163439 Dec 6 15:58 maven-model-3.0.3.jar -rw-r--r--. 1 root root 149093 Dec 6 15:58 maven-model-builder-3.0.3.jar -rw-r--r--. 1 root root 48920 Dec 6 15:58 maven-plugin-api-3.0.jar -rw-r--r--. 1 root root 30088 Dec 6 15:58 maven-repository-metadata-3.0.3.jar -rw-r--r--. 1 root root 27948 Dec 6 15:58 noggit-0.8.jar -rw-r--r--. 1 root root 47058 Dec 6 15:58 plexus-classworlds-2.4.jar -rw-r--r--. 1 root root 4211 Dec 6 15:58 plexus-component-annotations-1.5.5.jar -rw-r--r--. 1 root root 61072 Dec 6 15:58 plexus-interpolation-1.14.jar -rw-r--r--. 1 root root 223943 Dec 6 15:58 plexus-utils-2.0.7.jar -rw-r--r--. 1 root root 15612191 Dec 6 15:58 scala-compiler-2.11.12.jar -rw-r--r--. 1 root root 5749423 Dec 6 15:58 scala-library-2.11.12.jar -rw-r--r--. 1 root root 423753 Dec 6 15:58 scala-parser-combinators_2.11-1.0.4.jar -rw-r--r--. 1 root root 671138 Dec 6 15:58 scala-xml_2.11-1.0.5.jar -rw-r--r--. 1 root root 489453 Dec 6 15:58 sisu-guice-3.0.2-no_aop.jar -rw-r--r--. 1 root root 247361 Dec 6 15:58 sisu-inject-bean-2.2.2.jar -rw-r--r--. 1 root root 203536 Dec 6 15:58 sisu-inject-plexus-2.2.2.jar -rw-r--r--. 1 root root 32119 Dec 6 15:58 slf4j-api-1.7.10.jar -rw-r--r--. 1 root root 8866 Dec 6 15:58 slf4j-log4j12-1.7.10.jar -rw-r--r--. 1 root root 1870892 Dec 6 15:58 solr-solrj-7.5.0.jar -rw-r--r--. 1 root root 161867 Dec 6 15:58 stax2-api-3.1.4.jar -rw-r--r--. 1 root root 10494 Dec 6 15:58 wagon-http-1.0.jar -rw-r--r--. 1 root root 14945 Dec 6 15:58 wagon-http-lightweight-1.0.jar -rw-r--r--. 1 root root 24599 Dec 6 15:58 wagon-http-shared-1.0.jar -rw-r--r--. 1 root root 53186 Dec 6 15:58 wagon-provider-api-1.0.jar -rw-r--r--. 1 root root 486013 Dec 6 15:58 woodstox-core-asl-4.4.1.jar -rw-r--r--. 1 root root 100679 Dec 6 15:58 zeppelin-solr-0.1.6.jar -rw-r--r--. 1 root root 887738 Dec 6 15:58 zookeeper-3.4.11.jar
-
Restart Zeppelin Server. You can do it using ADCM:
-
Open the Clusters page.
-
Select your cluster in the common list.
-
Go to Services.
-
Click the Restart item in the drop-down menu of the Zeppelin service.
Restarting Zeppelin service via ADCM
-
Step 2. Add an interpreter using web UI
-
Select the Interpreter item in the account menu placed in the top right corner of the Zeppelin home page.
Switching to the list of interpretersSwitching to the list of interpreters -
Click Create.
Creating a new interpreterCreating a new interpreter -
In the field Interpreter Name, enter
solr
and selectsolr
in the Interpreter group field.Filling a name and a groupFilling a name and a group -
Set the value of the solr.baseUrl field to
http://<IP>:8983/solr
, where<IP>
is the IP-address of your Solr service. If the value can not be edited, delete this field and create the new one with the same name. -
Click Save. Your interpreter is ready.
Filling the property and saving the interpreterFilling the property and saving the interpreter
NOTE
|