Giter Club home page Giter Club logo

lilyproject's Introduction

                       Welcome to the Lily Data Repository
                       -----------------------------------
                          http://www.lilyproject.org/


Getting started
===============

For a first introduction to using Lily, please see:

http://docs.ngdata.com/lily-docs-current/414-lily.html

Prerequisites
=============

Install Maven 3.0.x
-------------------

From http://maven.apache.org

Building Lily
=============

Execute

mvn install

or to run it faster (without the tests):

mvn -Pfast install

On running test
===============

Log output of testcases is by default sent to a target/log.txt, errors
are however always logged to the console. Debug output to the console of
selected log categories can be enabled by running tests as follows:

mvn -Plog test

This is mostly useful when working on individual subprojects/tests.

Running tests (faster) against a stand-alone HBase
--------------------------------------------------

Test run rather slow because HBase-based tests launch a mini
Hadoop/ZooKeeper/HBase-cluster as part of the testcase. While this takes
some time in itself, it is especially the creation of tables in HBase which
takes time.

The tests can be sped up by starting an independent cluster and running the
tests against that. Instead of dropping and recreating tables between each
test, the tables are emptied by deleting all rows from them (thus be very
careful against which HBase you run this!). Besides the speed advantages,
this is also easier for debugging.


                     === Quick way: dummy HBase ===


To easily launch a mini HBase without having to install it, execute:

cd global/hadoop-test-fw-standalone
./target/launch-hadoop

This will print some non-log informational messages once everything is up.

And then run the tests with

mvn -Pconnect test

The first time this will still take more time (though already quite a bit
less than before), since the tables still need to be created. Subsequent
runs should be way faster.

Each time this 'mini' HBase is restarted, it looses its state so the first run
after restart will again be a bit slower.

Some tests rely on extra Lily libs to be on the classpath of the HBase regionserver.
When the code of these libs is changed, it is necessary to restart launch-hadoop.
So when working on that kind of code, connect mode will be less convenient.

When you run testcases without -Pconnect, and you have a mini HBase launched,
it might get confused (because some of the same ports are used), and you
might need to restart it.


                 === Run against existing cluster ===


If you want to connect to an HBase you have installed, you need to specify
the name(s) and port of Zookeeper:

mvn -Pconnect -DargLine="-Dlily.test.hbase.zookeeper.quorum=localhost -Dlily.test.hbase.zookeeper.property.clientPort=2181 -Dlily.test.dfs=hdfs://localhost:8020" test

The property lily.test.dfs points to the HDFS to be used to store blobs,
the value shown here is the default.

Any HBase property can be specified by prefixing it with
"lily.test." (also when the tests run with an embedded HBase).

Combining profiles
==================

Maven profiles can be combined, for example:

mvn -Pconnect -Plog test

or, if you prefer, like this:

mvn -Pconnect,log test

lilyproject's People

Contributors

bdumon avatar paulfocke avatar bcolyn-ngdata avatar janvanbesien-ngdata avatar stevek-ngdata avatar gabrielreid avatar

Watchers

张少华 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.