Docker image for Apache Zeppelin
Created from Zeppelin base image to minimize traffic and deployment time in case of changes should be applied on top of Zeppelin.
DockerHub does not cache image layers while compilation. Thus creation of base image (with pure Zeppelin) mitigates this issue and let us to experiment/play with Zeppelin settings w/o downloading full Zeppelin archive (more than 500MB) each time when we change smth. in configuration (or libs, add-ons, etc.) and recompile docker image. Only our changes will be pulled out from Docker Hub instead of full image.
__________
< Zeppelin >
----------
\
\
\
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
Please use corresponding branches from this repo to play with code.
Dockerized single-host Zeppelin.
- Amended and recompiled JDBC interpreter (since 0.8 following bug has been fixed and fix is already included in standard distribution) has been added to avoid full scan of database schemas and columns on interpreter initialization (there is SQL-completer which scans all described stuff. If your database contains tons of columns and tens schemas it will take several hours to initialize JDBC interpreter. Now this scan is switched off)
- Groovy added as interpreter for Groovy lovers (since 0.8 it is community-supported interpreter)
- Python backend (since 0.8 it is Python3) has been added (from 0.7.3 Python backend has been extended by NumPy, SciPy, Pandas and MatPlotLib)
Deployment options out of the box:
- Standalone Zeppelin node
- 8080 - Zeppelin web application port
- 8443 - Zeppelin web application secure port
All below volumes can be mounted to docker host machine folders or shared folders to easy maintain data inside them.
Zeppelin-specific:
- /opt/zeppelin/logs
- /opt/zeppelin/notebook
To add more flexibility in configuration there are some environment variables have been added to the image.
- HOMESCREEN - Display note IDs (e.g. 2A94M5J1Z) on the Apache Zeppelin homescreen instead of standard Zeppelin homepage
- HOMESCREEN_HIDE - Hide the note ID set by HOMESCREEN on the Apache Zeppelin homescreen.
For the further information, please read Customize your Zeppelin homepage
Please keep in mind that above properties are content-dependent. Thus at first you should map your Notebook volume to container-independent storage and only then set above properties
This image can either be used as a base image for building on top of NiFi or just to experiment with. I personally have not attempted to use this in a production use case.
Please use corresponding branches from this repo to play with code.
Ensure the following pre-requisites are met (due to some blocker bugs in earlier versions). As of today, the latest Docker Toolbox and Homebrew are fine.
- Docker 1.10+
- Docker Machine 0.6.0+
- Kitematic 0.12
(all downloadable as a single Docker Toolbox package as well)
- Start Kitematic
- Enter
xemuliam
in serach box - Choose
zeppelin
image - Click
Create
button
Kitematic will assign all ports and you'll be able to run NiFi web-interface directly from Kitematic.
- Start Docker Quickstart Terminal
- Run command
docker run -d -p 8080:8080 -p 8443:8443 xemuliam/zeppelin
- Check Docker machine IP
docker-machine ls
- Use IP from previous step in address bar of your favorite browser, e.g.
http://192.168.99.100:8080/#/