User-managed interpreters

Overview

This section describes the specifics of working with custom Zeppelin interpreters tagged with the user-managed property and provides common scenarios of using this option.

By default, user-defined interpreter properties get lost when ADCM is used to restart Zeppelin. To preserve custom properties between the restarts, the following should be observed:

  • The Allow user-managed interpreters option is enabled on the Zeppelin configuration page in ADCM (enabled by default).

  • For those interpreters which properties you want to preserve, the user-managed=true property must be set in Zeppelin UI.

More details on using these options are described below.

Zeppelin interpreters can be of two types:

  • System. These are the interpreters distributed with ADH bundles and available in the Zeppelin web UI by default.

  • Custom. The interpreters that were manually added by a user.

Using Zeppelin UI, one can add custom key/value properties for an interpreter to tune its behavior. However, when you restart Zeppelin via ADCM, such custom properties get lost. To preserve custom properties between the restarts, use the Allow user-managed interpreters option in ADCM UI as shown below.

user managed adcm
Allow user-managed interpreters

If the Allow user-managed interpreters option is enabled, ADCM picks up the interpreter configuration from the Zeppelin host for all the interpreters that have user-managed=true.

user managed
User-managed option in Zeppelin UI
user managed dark
User-managed option in Zeppelin UI

If Allow user-managed interpreters is disabled, ADCM will create a default list of system interpreters when restarting Zeppelin.

Usage examples

Below are examples of common tasks that demonstrate the use of the user-managed interpreters.

Case: protect a system interpreter from changes during Zeppelin restarts

If you do not want an interpreter’s settings to change when Zeppelin is restarted via ADCM, set the user-managed=true property for this interpreter in Zeppelin UI. If Allow user-managed interpreters is enabled in ADCM, custom interpreter settings will not be changed after the restart.

Case: update interpreter config after toggling Kerberos/SSL/HA

Assume you have just enabled or disabled Kerberos/SSL/HA for an ADH service. Typically, such operations lead to a change in the JDBC connection string. Thus, if your interpreter has a custom property that stores a connection string, this string must be updated. A quick way to update the interpreter is as follows:

  1. Disable the Allow user-managed interpreters option in ADCM or set user-managed=false in Zeppelin web UI for those interpreters which parameters should be updated.

  2. Restart Zeppelin.

After Zeppelin restarts, ADCM will re-create the default interpreters from a template, using the correct JDBC string value.

Case: submit interpreter configuration to ADCM as a file

You can feed custom definitions of interpreter.json/interpreter.sh to ADCM. For this, provide your custom files contents on the Zeppelin configuration page and save the configuration. When Zeppelin restarts, it will initialize interpreters based on the provided interpreter.json/interpreter.sh.

Case: reset all custom interpreters to default

To reset all interpreters to the default state, do the following:

  1. Disable the Allow user-managed interpreters option (enabled by default) on the Zeppelin configuration page in ADCM.

  2. Disable the Custom interpreter.json/interpreter.sh options to restore the default configuration.

  3. Restart the Zeppelin service.

Once you do this, after Zeppelin restarts, all interpreters will be re-created with default configs.

Found a mistake? Seleсt text and press Ctrl+Enter to report it