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

  1. Connect to the Zeppelin Server (via SSH, etc.).

  2. 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
    TIP
    The environment variable ZEPPELIN_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 value https://repo1.maven.org/maven2 to the environment variable ZEPPELIN_INTERPRETER_DEP_MVNREPO in the configuration file /etc/zeppelin/conf/zeppelin-env.sh and restart Zeppelin Server.
  3. Verify that the folder that corresponds to the new solr interpreter is added:

    $ ls -la /usr/lib/zeppelin/interpreter/solr
    Sample output
    total 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
  4. Restart Zeppelin Server. You can do it using ADCM:

    • Open the CLUSTERS tab.

    • Select your cluster in the common list.

    • Select the Services tab.

    • Click the Restart item in the drop-down menu of the Zeppelin service.

      install interpreter 01
      Restarting Zeppelin service via ADCM

Step 2. Add an interpreter using web UI

  1. Select the Interpreter item in the account menu placed in the top right corner of the Zeppelin home page.

    new interpreter 01 dark
    Switching to the list of interpreters
    new interpreter 01 light
    Switching to the list of interpreters
  2. Click Create.

    new interpreter 07 dark
    Creating a new interpreter
    new interpreter 07 light
    Creating a new interpreter
  3. In the field Interpreter Name, enter solr and select solr in the Interpreter group field.

    install interpreter 02 dark
    Filling a name and a group
    install interpreter 02 light
    Filling a name and a group
  4. 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.

  5. Click Save. Your interpreter is ready.

    install interpreter 03 dark
    Filling the property and saving the interpreter
    install interpreter 03 light
    Filling the property and saving the interpreter
NOTE
Found a mistake? Seleсt text and press Ctrl+Enter to report it