druid-io/docker-druid

Name: docker-druid

Owner: Druid

Description: Druid Docker

Created: 2014-07-28 20:32:50.0

Updated: 2018-01-18 05:59:22.0

Pushed: 2017-12-01 16:27:34.0

Homepage: null

Size: 46

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Druid Docker Image

Run a simple Druid cluster

Install Docker

Download and launch the docker image

er pull druidio/example-cluster
er run --rm -i -p 3000:8082 -p 3001:8081 druidio/example-cluster

Wait a minute or so for Druid to start up and download the sample.

On OS X

 http://$(docker-machine ip default):3000/druid/v2/datasources
 http://$(docker-machine ip default):3001/

On Linux

 http://localhost:3000/druid/v2/datasources
Build Druid Docker Image

To build the docker image yourself

clone https://github.com/druid-io/docker-druid.git
er build -t example-cluster docker-druid
Logging

You might want to look into the logs when debugging the Druid processes. This can be done by logging into the container using docker ps:

AINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                                                                                      NAMES
cbfc5612        druidio/example-cluster   "/bin/sh -c 'export H"   7 seconds ago       Up 6 seconds        2181/tcp, 2888/tcp, 3306/tcp, 3888/tcp, 8083/tcp, 0.0.0.0:3001->8081/tcp, 0.0.0.0:3000->8082/tcp    sick_lamport

And attaching to the container using docker exec -ti 9e73cbfc5612 bash logs are written to /tmp/:

@d59a3d4a68c3:/tmp# ls -lah        
l 224K
rwxrwt  8 root   root   4.0K Jan 18 20:38 .
r-xr-x 61 root   root   4.0K Jan 18 20:38 ..
------  1 root   root      0 Jan 18 20:38 druid-broker-stderr---supervisor-az6WwP.log
------  1 root   root    18K Jan 18 20:39 druid-broker-stdout---supervisor-D28zOC.log
------  1 root   root      0 Jan 18 20:38 druid-coordinator-stderr---supervisor-RYMt5L.log
------  1 root   root   100K Jan 18 21:14 druid-coordinator-stdout---supervisor-Jq4WCi.log
------  1 root   root      0 Jan 18 20:38 druid-historical-stderr---supervisor-rmMHmF.log
------  1 root   root    18K Jan 18 20:39 druid-historical-stdout---supervisor-AJ0SZX.log
------  1 root   root   7.9K Jan 18 21:09 druid-indexing-service-stderr---supervisor-x3YNlo.log
------  1 root   root    28K Jan 18 21:14 druid-indexing-service-stdout---supervisor-5uyV7u.log
------  1 root   root    155 Jan 18 20:38 mysql-stderr---supervisor-NqN9nY.log
------  1 root   root    153 Jan 18 20:38 mysql-stdout---supervisor-23izTf.log
------  1 root   root     78 Jan 18 20:38 zookeeper-stderr---supervisor-Rm33j8.log
------  1 root   root   7.4K Jan 18 20:39 zookeeper-stdout---supervisor-6AFVOR.log
Troubleshooting

This section will help you troubleshoot problems related to the Dockerized Druid.

Out-Of-Memory (OOM) when using OSX

When using Docker on OSX, the Docker environment will be executed within the HyperKit hypervisor, a lightweight visualization framework for running the Docker containers:

er-druid foobar$ ps -ax | grep docker.hyperkit
5 ??         0:04.02 /Applications/Docker.app/Contents/MacOS/com.docker.hyperkit -A -m 2048M -c 4 -u -s ...

The allocated resources are limited by default to 2 cpu's and 2gb of memory. Although 2gb is sufficient in most application, the Druid container is rather heavyweight because of the Mysql, Zookeeper and the JVM's. When start spawning additional JVM's, for example an indexing job, this might cause issues:

-01-20T15:59:58,445 INFO [forking-task-runner-0-[index_transactions_2017-01-20T15:59:50.637Z]] io.druid.indexing.overlord.ForkingTaskRunner - Process exited with status[137] for task: index_transactions_2017-01-20T15:59:50.637Z

From the log we observe that the process receives an 137 (=128+9) SIGKILL signal. Because it hit the memory limit, the application is killed instantly. To avoid this you might want to give more resources to the Docker hypervisor under Docker > Preferences.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.