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
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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
To build the docker image yourself
clone https://github.com/druid-io/docker-druid.git
er build -t example-cluster docker-druid
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
This section will help you troubleshoot problems related to the Dockerized Druid.
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.