druid/docs/operations/single-server.md

4.5 KiB

id title
single-server Single server deployment

Druid includes a set of reference configurations and launch scripts for single-machine deployments. These configuration bundles are located in conf/druid/single-server/.

The auto configuration sizes runtime parameters based on available processors and memory. Other configurations include hard-coded runtime parameters for various server sizes. Most users should stick with auto. Refer below Druid auto start

  • auto (run script: bin/start-druid)
  • nano-quickstart (run script: bin/start-nano-quickstart)
  • micro-quickstart (run script: bin/start-micro-quickstart)
  • small (run script: bin/start-single-server-small)
  • medium (run script: bin/start-single-server-medium)
  • large (run script: bin/start-single-server-large)
  • xlarge (run script: bin/start-single-server-xlarge)

The micro-quickstart is sized for small machines like laptops and is intended for quick evaluation use-cases.

The nano-quickstart is an even smaller configuration, targeting a machine with 1 CPU and 4GiB memory. It is meant for limited evaluations in resource constrained environments, such as small Docker containers.

The other configurations are intended for general use single-machine deployments. They are sized for hardware roughly based on Amazon's i3 series of EC2 instances.

The startup scripts for these example configurations run a single ZK instance along with the Druid services. You can choose to deploy ZK separately as well.

The example configurations run the Druid Coordinator and Overlord together in a single process using the optional configuration druid.coordinator.asOverlord.enabled=true, described in the Coordinator configuration documentation.

While example configurations are provided for very large single machines, at higher scales we recommend running Druid in a clustered deployment, for fault-tolerance and reduced resource contention.

Druid auto start

Druid includes a launch script, bin/start-druid that automatically sets various memory-related parameters based on available processors and memory. It accepts optional arguments such as list of services, total memory and a config directory to override default JVM arguments and service-specific runtime properties.

start-druid is a generic launch script capable of starting any set of Druid services on a server. It accepts optional arguments such as list of services, total memory and a config directory to override default JVM arguments and service-specific runtime properties. Druid services will use all processors and up to 80% memory on the system. For details about possible arguments, run bin/start-druid --help.

The corresponding launch scripts (e.g. start-micro-quickstart) are now deprecated.

Single server reference configurations

Nano-Quickstart: 1 CPU, 4GiB RAM

  • Launch command: bin/start-nano-quickstart
  • Configuration directory: conf/druid/single-server/nano-quickstart

Micro-Quickstart: 4 CPU, 16GiB RAM

  • Launch command: bin/start-micro-quickstart
  • Configuration directory: conf/druid/single-server/micro-quickstart

Small: 8 CPU, 64GiB RAM (~i3.2xlarge)

  • Launch command: bin/start-small
  • Configuration directory: conf/druid/single-server/small

Medium: 16 CPU, 128GiB RAM (~i3.4xlarge)

  • Launch command: bin/start-medium
  • Configuration directory: conf/druid/single-server/medium

Large: 32 CPU, 256GiB RAM (~i3.8xlarge)

  • Launch command: bin/start-large
  • Configuration directory: conf/druid/single-server/large

X-Large: 64 CPU, 512GiB RAM (~i3.16xlarge)

  • Launch command: bin/start-xlarge
  • Configuration directory: conf/druid/single-server/xlarge