druid/docs/content/Broker-Config.md

3.5 KiB

layout
doc_page

Broker Node Configuration

For general Broker Node information, see here.

Quick Start

Run:

io.druid.cli.Main server broker

With the following JVM configuration:

-server
-Xmx256m
-Duser.timezone=UTC
-Dfile.encoding=UTF-8

druid.host=localhost
druid.service=broker
druid.port=8080

druid.zk.service.host=localhost

Production Configs

These production configs are using S3 as a deep store.

JVM settings:

-server
-Xmx#{HEAP_MAX}g
-Xms#{HEAP_MIN}g
-XX:NewSize=#{NEW_SIZE}g
-XX:MaxNewSize=#{MAX_NEW_SIZE}g
-XX:+UseConcMarkSweepGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Duser.timezone=UTC
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=/mnt/tmp

-Dcom.sun.management.jmxremote.port=17071
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

Runtime.properties:

druid.host=#{IP_ADDR}:8080
druid.port=8080
druid.service=druid/prod/broker

# This setup requires all dependencies to be bundled such that we don't need to contact the remote repo
druid.extensions.remoteRepositories=[]
druid.extensions.localRepository=lib
druid.extensions.coordinates=[]

druid.zk.service.host=#{ZK_IPs}
druid.zk.paths.base=/druid/prod

druid.discovery.curator.path=/prod/discovery

druid.broker.cache.type=memcached
druid.broker.cache.hosts=#{MC_HOST1}:11211,#{MC_HOST2}:11211,#{MC_HOST3}:11211
druid.broker.cache.expiration=2147483647
druid.broker.cache.memcachedPrefix=d1
druid.broker.http.numConnections=20
druid.broker.http.readTimeout=PT5M

druid.server.http.numThreads=50

druid.request.logging.type=emitter
druid.request.logging.feed=druid_requests

druid.monitoring.monitors=["com.metamx.metrics.SysMonitor","com.metamx.metrics.JvmMonitor", "io.druid.client.cache.CacheMonitor"]

# Emit metrics over http
druid.emitter=http
druid.emitter.http.recipientBaseUrl=#{EMITTER_URL}

# If you choose to compress ZK announcements, you must do so for every node type
druid.announcer.type=batch
druid.curator.compress=true

Runtime Configuration

The broker module uses several of the default modules in Configuration and has the following set of configurations as well:

Property Possible Values Description Default
druid.broker.cache.type local, memcached The type of cache to use for queries. local
druid.broker.balancer.type random, connectionCount Determines how the broker balances connections to compute nodes. random choose randomly, connectionCount picks the node with the fewest number of active connections to random

Local Cache

Property Description Default
druid.broker.cache.sizeInBytes Maximum size of the cache. If this is zero, cache is disabled. 0
druid.broker.cache.initialSize The initial size of the cache in bytes. 500000
druid.broker.cache.logEvictionCount If this is non-zero, there will be an eviction of entries. 0

Memcache

Property Description Default
druid.broker.cache.expiration Memcache expiration time . 2592000 (30 days)
druid.broker.cache.timeout Maximum time in milliseconds to wait for a response from Memcache. 500
druid.broker.cache.hosts Memcache hosts. none
druid.broker.cache.maxObjectSize Maximum object size in bytes for a Memcache object. 52428800 (50 MB)
druid.broker.cache.memcachedPrefix Key prefix for all keys in Memcache. druid