Apache Zeppelin is a fantastic open source web-based notebook. Zeppelin allows users to build and share great looking data visualizations using languages such as Scala, Python, SQL, etc.
Running Apache Zeppelin on Docker is a great way to get Zeppelin up and running quickly. Here are the basic steps:
Pick an OS
Zeppelin runs great on Centos and Ubuntu distros.
Install Java
Java is generally very easy to install on Unix/Linux systems. For example, the command apt-get install -y openjdk-7-jdk
can be used to install Java 7 (OpenJDK) on Ubuntu.
Install Zeppelin
Installing Zeppelin can be done by downloading and extracting the binary package onto your machine. There are many mirrors from which this package can be downloaded. Here is an example of downloading from a specific mirror, and extracting Zeppelin into the /usr/local/
directory.
wget http://apache.cs.utah.edu/zeppelin/zeppelin-0.7.0/zeppelin-0.7.0-bin-all.tgz && \
tar -zxf zeppelin-0.7.0-bin-all.tgz -C /usr/local/
Make sure to update this URL with the version of Zeppelin you are interested in. In this example we use version 0.7.0
. See http://zeppelin.apache.org/download.html for a list of available downloads.
Installing Zeppelin can also be done by building from source. To do this you need to download code from the Zeppelin GitHub repository, and build using a tool like Maven.
Starting Zeppelin
Once installed, Zeppelin can be started from the installation directory by running bin/zeppelin.sh
. After starting, you should be able to see the Zeppelin UI on http://localhost:8080
.
Sample Dockerfile
This Dockerfile shows an example of installing Zeppelin on Ubuntu 16.04
into /usr/local/zeppelin
. Some additional packages such as npm
and vim
are also added.
FROM ubuntu:16.04
ENV ZEPPELIN_PORT 8080
ENV ZEPPELIN_HOME /usr/local/zeppelin
EXPOSE $ZEPPELIN_PORT
#install java
RUN apt-get update && \
apt-get install -y software-properties-common && \
add-apt-repository ppa:openjdk-r/ppa && \
apt-get update && \
apt-get install -y openjdk-7-jdk
#install other
RUN apt-get install -y \
npm \
vim \
wget
#install Zeppelin
RUN wget http://apache.cs.utah.edu/zeppelin/zeppelin-0.7.0/zeppelin-0.7.0-bin-all.tgz && \
tar -zxf zeppelin-0.7.0-bin-all.tgz -C /usr/local/ && \
mv /usr/local/zeppelin* $ZEPPELIN_HOME
WORKDIR $ZEPPELIN_HOME
CMD bin/zeppelin.sh
Building the Docker Image
Running docker build -t zeppelin-simple:0.7.0 .
from the directory containing your Dockerfile will create the docker zeppelin-simple
image with a 0.7.0
tag (version of Zeppelin installed).
Creating & Running the Docker Container
The command docker run -p 8080:8080 zeppelin-simple:0.7.0
can now be used to create a Docker container from this image. The -p
option in the command will map the port 8080 inside to the container to port 8080 on the host machine. The CMD
instruction used in the Dockerfile will start Zeppelin by default when the container is created.
This means Apache Zeppelin is now up and running on your machine and can be accessed at http://localhost:8080
in your web browser.
Enjoy!