Установка стороннего интерпретатора

Zeppelin работает не только с community-интерпретаторами, но также позволяет установить сторонние интерпретаторы из Maven-репозиториев. В данной статье представлен пример установки интерпретатора для Apache Solr. Убедитесь, что сервис Solr доступен в вашем ADH-кластере прежде чем выполнять шаги, описанные ниже.

ПРИМЕЧАНИЕ
Больше информации об установке интерпретаторов вы можете найти в документации Zeppelin.

Шаг 1. Загрузка библиотек интерпретатора

  1. Установите соединение с Zeppelin Server (например, по SSH).

  2. Выполните следующую команду, чтобы загрузить библиотеки для нового интерпретатора solr:

    $ 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

    Результат выполнения имеет следующий вид:

    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
    РЕКОМЕНДАЦИЯ
    Переменная окружения ZEPPELIN_INTERPRETER_DEP_MVNREPO позволяет избежать ошибок с разрешением зависимостей, которые могут встречаться в Zepplin 0.9.0 и более ранних версиях. Вы можете присвоить переменной ZEPPELIN_INTERPRETER_DEP_MVNREPO значение https://repo1.maven.org/maven2 в конфигурационном файле /etc/zeppelin/conf/zeppelin-env.sh, а затем перезапустить Zeppelin Server.
  3. Убедитесь, что директория, соответствующая новому интерпретатору solr, добавлена:

    $ ls -la /usr/lib/zeppelin/interpreter/solr
    Пример вывода
    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. Перезапустите Zeppelin Server. Вы можете сделать это, используя ADCM:

    • Откройте страницу Clusters.

    • Выберите ваш кластер из списка.

    • Перейдите на вкладку Services.

    • Кликните Restart в выпадающем списке сервиса Zeppelin.

      install interpreter 01
      Перезапуск сервиса Zepplin через ADCM

Шаг 2. Добавление интерпретатора через веб-интерфейс

  1. Выберите Interpreter в меню аккаунта, расположенном в правом верхнем углу домашней страницы Zeppelin.

    new interpreter 01 dark
    Список интерпретаторов
    new interpreter 01 light
    Список интерпретаторов
  2. Кликните Create.

    new interpreter 07 dark
    Создание нового интерпретатора
    new interpreter 07 light
    Создание нового интерпретатора
  3. В поле Interpreter Name введите solr; выберите solr в поле Interpreter group.

    install interpreter 02 dark
    Заполнение имени и группы
    install interpreter 02 light
    Заполнение имени и группы
  4. Установите в поле solr.baseUrl значение, равное http://<IP>:8983/solr, где <IP> — это IP-адрес вашего Solr-сервиса. Если значение поля не редактируется, удалите данное поле и создайте новое с таким же именем.

  5. Кликните Save. Новый интерпретатор готов.

    install interpreter 03 dark
    Заполнение полей и сохранение интерпретатора
    install interpreter 03 light
    Заполнение полей и сохранение интерпретатора
ПРИМЕЧАНИЕ
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней