| --- |
| layout: doc_page |
| --- |
| |
| Middle Manager Node |
| ------------------ |
| |
| The middle manager node is a worker node that executes submitted tasks. Middle Managers forward tasks to peons that run in separate JVMs. |
| The reason we have separate JVMs for tasks is for log isolation. Each [Peon](Peons.html) is capable of running only one task at a time, however, a middle manager may have multiple peons. |
| |
| Quick Start |
| ------------------ |
| |
| #### Running |
| |
| ``` |
| io.druid.cli.Main server middleManager |
| ``` |
| |
| With the following JVM configuration: |
| |
| ``` |
| -Duser.timezone=UTC |
| -Dfile.encoding=UTF-8 |
| |
| -Ddruid.host=localhost |
| -Ddruid.port=8091 |
| -Ddruid.service=middleManager |
| |
| -Ddruid.zk.service.host=localhost |
| |
| -Ddruid.db.connector.connectURI=jdbc:mysql://localhost:3306/druid |
| -Ddruid.db.connector.user=druid |
| -Ddruid.db.connector.password=diurd |
| -Ddruid.selectors.indexing.serviceName=overlord |
| -Ddruid.indexer.runner.startPort=8092 |
| -Ddruid.indexer.fork.property.druid.computation.buffer.size=268435456 |
| ``` |
| |
| #### JVM Configuration |
| |
| Middle managers pass their configurations down to their child peons. The middle manager module requires the following configs: |
| |
| |Property|Description|Default| |
| |--------|-----------|-------| |
| |`druid.worker.ip`|The IP of the worker.|localhost| |
| |`druid.worker.version`|Version identifier for the middle manager.|0| |
| |`druid.worker.capacity`|Maximum number of tasks the middle manager can accept.|Number of available processors - 1| |
| |`druid.indexer.runner.compressZnodes`|Indicates whether or not the middle managers should compress Znodes.|false| |
| |`druid.indexer.runner.maxZnodeBytes`|The maximum size Znode in bytes that can be created in Zookeeper.|524288| |
| |`druid.indexer.runner.taskDir`|Temporary intermediate directory used during task execution.|/tmp/persistent| |
| |`druid.indexer.runner.javaCommand`|Command required to execute java.|java| |
| |`druid.indexer.runner.javaOpts`|-X Java options to run the peon in its own JVM.|""| |
| |`druid.indexer.runner.classpath`|Java classpath for the peon.|System.getProperty("java.class.path")| |
| |`druid.indexer.runner.startPort`|The port that peons begin running on.|8080| |
| |`druid.indexer.runner.allowedPrefixes`|Whitelist of prefixes for configs that can be passed down to child peons.|"com.metamx", "druid", "io.druid", "user.timezone","file.encoding"| |
| |