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.
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.
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
.
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:
-
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. -
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:
-
Disable the Allow user-managed interpreters option (enabled by default) on the Zeppelin configuration page in ADCM.
-
Disable the Custom interpreter.json/interpreter.sh options to restore the default configuration.
-
Restart the Zeppelin service.
Once you do this, after Zeppelin restarts, all interpreters will be re-created with default configs.