Skip to content

Tranquility helps you send real-time event streams to Druid and handles partitioning, replication, service discovery, and schema rollover, seamlessly and without downtime.

License

Notifications You must be signed in to change notification settings

dclim/tranquility

 
 

Repository files navigation

Tranquility

“Stay close, my friends, and I will heal your wounds.”
         —Mythen of the Wild

Tranquility helps you send event streams to Druid, the raddest data store ever (http://druid.io/), in real-time. It handles partitioning, replication, service discovery, and schema rollover for you, seamlessly and without downtime. Tranquility is written in Scala, and bundles idiomatic Java and Scala APIs that work nicely with Finagle, Samza, Spark, Storm, and Trident.

This project is a friend of Druid. For discussion, feel free to use the normal Druid channels: http://druid.io/community/

Documentation

General:

  • Overview - Introduction to Tranquility concepts, including details about how it creates and manages Druid tasks.
  • DruidBeams - The first step to using Tranquility is to configure it appropriately for your Druid dataSource. For most modules (including core, storm, spark, and samza) this is generally done through the DruidBeams builder object.
  • Troubleshooting - Solutions to common problems.

Modules:

  • Core - The most basic data-sending API. You will likely use this one unless you are using one of the higher-level modules.
  • Server - HTTP server that allows you to use Tranquility without developing a JVM app.
  • Samza - Tranquility includes a Samza SystemProducer.
  • Spark - Tranquility works with RDDs and DStreams.
  • Storm - Tranquility includes a Storm Bolt and a Trident State.

Getting Tranquility with Maven

Tranquility Core, Samza, Spark, and Storm are meant to be included in an application that you write. Those modules are hosted on Maven Central to make them easy to include. The current stable versions are:

<dependency>
  <groupId>io.druid</groupId>
  <artifactId>tranquility-core_2.11</artifactId>
  <version>0.7.0</version>
</dependency>
<dependency>
  <groupId>io.druid</groupId>
  <artifactId>tranquility-samza_2.10</artifactId>
  <version>0.7.0</version>
</dependency>
<dependency>
  <groupId>io.druid</groupId>
  <artifactId>tranquility-spark_2.11</artifactId>
  <version>0.7.0</version>
</dependency>
<dependency>
  <groupId>io.druid</groupId>
  <artifactId>tranquility-storm_2.11</artifactId>
  <version>0.7.0</version>
</dependency>

You only need to include the modules you are actually using.

All Tranquility modules are built for both Scala 2.10 and 2.11, except for the Samza module, which is only built for Scala 2.10. If you're using Scala for your own code, you should choose the Tranquility build that matches your version of Scala. Otherwise, Scala 2.11 is recommended.

This version is built to work with Druid 0.7.x and 0.8.x. If you are using Druid 0.6.x, you may want to use Tranquility v0.3.2, which is the most recent version built for use with Druid 0.6.x.

Tranquility is built with SBT. If you want to build the jars yourself, you can run sbt +package.

Getting Tranquility Server

Tranquility Server is available as a tarball that you can download and run. The current version is in tranquility-distribution-0.7.0.

For more information please see the Tranquility Server documentation.

About

Tranquility helps you send real-time event streams to Druid and handles partitioning, replication, service discovery, and schema rollover, seamlessly and without downtime.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 93.7%
  • Java 6.3%