Zeppelin Service for Apache Ambari
Apache Zeppelin service for Apache Ambari. It allows you to install and manage Zeppelin as an Ambari service. The plugin is compatible with Ambari 1.7, 2.0.x and 2.1.x and Stacks: PHD3.0, HDP2.2x and HDP2.3.
To embed the Zeppelin UI pages within Ambari you can use the Ambari Webpage Embedder project.
This project builds upon the excellent work done by Ali Bajwa in the ambari-zeppelin-service.
The original code was refactored to clean some unnecessary functionality and keep the focus only on the Zeppelin service. The dependecies and assumptions on pre-installed services are removed. Also is removed the build-on-the-fly functionality. Instead it is expected that the installer will provide a link to a Zeppelin tarball build (default tarball links are provided). The plugin installation is simplified and one can install the packages through a public YUM repository.

How to build
Clone the project and build and use gradle to build it
git clone https://github.com/tzolov/zeppelin-ambari-plugin.git
./gradlew clean build dist
The build/distributions/ contains the a generic tar.gz as well as RPM pacakges for each suppoerted stack.
How to Use
Install the plugin to Ambari and then deploy the Zeppelin service.
Install the plugin
Add the Big-Data YUM repository to your CentOS/RedHat system, install the latest Zeppelin plugin RPM and restart the Ambari Server:
sudo wget https://bintray.com/big-data/rpm/rpm -O /etc/yum.repos.d/bintray-big-data-rpm.repo
sudo yum -y install zeppelin-ambari-plugin-phd30
sudo /etc/init.d/ambari-server restart
This installs the Zeppelin plugin for PHD30 Hadoop distro. For HDP2.2 install zeppelin-ambari-plugin-hdp22 and for HDP2.3 install zeppelin-ambari-plugin-hdp23 instead.
Deploy the Zeppelin Service
- Login to Ambari server
- Open the
Servicesview and click onActions/+Add Servicesbutton. - Select the
Zeppelin Notebookservice from the list and pressNext. - Select a host for the Zeppelin server component and press
Next. - Open the
zeppelin-ambari-configconfiguration panel. By default the plugin will check if thezeppelin.temp.filepoints to a valid Zeppelin tarball. If the tarball is not available the plugin useszeppelin.tarball.urlto download it. By default plugin will use this URL to download the zeppelin-0.6.0-incubating-SNAPSHOT.tar.gz tarball. You can change the download URL or provide a Zeppelin tarball locally by setting thezeppelin.temp.file. Note that the local tarball must be on the Ambari server. - Review the
zeppelin-configandzeppelin-envconfigurations. You may want to change thezeppelin.server.addrfrom0.0.0.0to the host name of the server Zeppelin is installed on. - Press
Nextto complete the installation.
Configuration Properties
The Zeppelin Notebook/Configs windows exposes the standard Zeppelin configuration properties. Grouped in the zeppelin-env and zeppelin-config sections.
In addition the zeppelin-ambari-config section exposes some Zepelin Ambari specific configuration options like the URLof the Zeppelin tarball being installed or the URL of the predefied notebooks arhive. Table below lists those properties:
| Property | Description | Default Value |
|---|---|---|
| zeppelin.notebooks.url | URL of pre-build notebooks (tar.gz). | https://dl.dropboxusercontent.com/u/79241625/notebooks.tar.gz |
| zeppelin.tarball.url | URL location of pre-build Zeppelin tarball (tar.gz) | https://dl.dropboxusercontent.com/u/79241625/zeppelin-0.6.0-incubating-SNAPSHOT.tar.gz |
| zeppelin.temp.file | Temporary file where pre-built package will be downloaded to. If your env has limited space under /tmp, change this to different location. In this case you must ensure that the zeppelin user must be able to write to this location. | /tmp/zeppelin.tar.gz |
| zeppelin.install.dir | Local dir where to install component. incubator-zeppelin folder will be created as a subdir of this dir e.g. /opt/incubator-zeppelin | /opt |
| zeppelin.executor.mem | Executor memory to use (e.g. 512m or 1g) | 512m |