{% include JB/setup %}
NOTE : Apache Zeppelin is an Apache2 License Software. Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License.
Here are some tools you will need to build and test Zeppelin.
Since Zeppelin uses Git for it's SCM system, you need git client installed in your development machine.
You are free to use whatever IDE you prefer, or your favorite command line editor.
To build the code, install
First of all, you need Zeppelin source code. The official location of Zeppelin is https://gitbox.apache.org/repos/asf/zeppelin.git.
Get the source code on your development machine using git.
git clone git://gitbox.apache.org/repos/asf/zeppelin.git zeppelin
You may also want to develop against a specific branch. For example, for branch-0.11.0
git clone -b branch-0.11.0 git://gitbox.apache.org/repos/asf/zeppelin.git zeppelin
Apache Zeppelin follows Fork & Pull as a source control workflow. If you want to not only build Zeppelin but also make any changes, then you need to fork Zeppelin github mirror repository and make a pull request.
Before making a pull request, please take a look Contribution Guidelines.
./mvnw install
To skip test
./mvnw install -DskipTests
To build with specific spark / hadoop version
./mvnw install -Dspark.version=x.x.x -Dhadoop.version=x.x.x
For the further
conf/zeppelin-site.xml.template to zeppelin-server/src/main/resources/zeppelin-site.xml and change the configurations in this file if requiredcd zeppelin-server HADOOP_HOME=YOUR_HADOOP_HOME JAVA_HOME=YOUR_JAVA_HOME \ ./mvnw exec:java -Dexec.mainClass="org.apache.zeppelin.server.ZeppelinServer" -Dexec.args=""
Note: Make sure you first run
./mvnw clean install -DskipTests
in your zeppelin root directory, otherwise your server build will fail to find the required dependencies in the local repo.
or use daemon script
bin/zeppelin-daemon start
Server will be run on http://localhost:8080.
conf/zeppelin-site.xml.template to zeppelin-server/src/main/resources/zeppelin-site.xml and change the configurations in this file if requiredZeppelinServer.java Main classSome portions of the Zeppelin code are generated by Thrift. For most Zeppelin changes, you don't need to worry about this. But if you modify any of the Thrift IDL files (e.g. zeppelin-interpreter/src/main/thrift/*.thrift), then you also need to regenerate these files and submit their updated version as part of your patch.
To regenerate the code, install thrift-0.9.2 and then run the following command to generate thrift code.
cd <zeppelin_home>/zeppelin-interpreter/src/main/thrift ./genthrift.sh
Zeppelin has set of integration tests using Selenium. To run these test, first build and run Zeppelin and make sure Zeppelin is running on port 8080. Then you can run test using following command
TEST_SELENIUM=true ./mvnw test -Dtest=[TEST_NAME] -DfailIfNoTests=false \ -pl 'zeppelin-interpreter,zeppelin-zengine,zeppelin-server'
For example, to run ParagraphActionIT,
TEST_SELENIUM=true ./mvnw test -Dtest=ParagraphActionsIT -DfailIfNoTests=false \ -pl 'zeppelin-interpreter,zeppelin-zengine,zeppelin-server'
You'll need Firefox web browser installed in your development environment.
You can find issues for beginner & newbie
Contributors should join the Zeppelin mailing lists.
If you have any issues, create a ticket in JIRA.