--- layout: doc_page --- Peons ----- Peons run a single task in a single JVM. MiddleManager is responsible for creating Peons for running tasks. Peons should rarely (if ever for testing purposes) be run on their own. #### JVM Configuration Although peons inherit the configurations of their parent middle managers, explicit child peon configs in middlemanager can be set by prefixing them with: ``` druid.indexer.fork.property ``` Additional peon configs include: |Property|Description|Default| |--------|-----------|-------| |`druid.peon.mode`|Choices are "local" and "remote". Setting this to local means you intend to run the peon as a standalone node (Not recommended).|remote| |`druid.indexer.task.baseDir`|Base temporary working directory.|/tmp| |`druid.indexer.task.baseTaskDir`|Base temporary working directory for tasks.|/tmp/persistent/tasks| |`druid.indexer.task.hadoopWorkingPath`|Temporary working directory for Hadoop tasks.|/tmp/druid-indexing| |`druid.indexer.task.defaultRowFlushBoundary`|Highest row count before persisting to disk. Used for indexing generating tasks.|50000| |`druid.indexer.task.chathandler.type`|Choices are "noop" and "announce". Certain tasks will use service discovery to announce an HTTP endpoint that events can be posted to.|noop| If the peon is running in remote mode, there must be an overlord up and running. Running peons in remote mode require the following configurations: |Property|Description|Default| |--------|-----------|-------| |`druid.peon.taskActionClient.retry.minWait`|The minimum retry time to communicate with overlord.|PT1M| |`druid.peon.taskActionClient.retry.maxWait`|The maximum retry time to communicate with overlord.|PT10M| |`druid.peon.taskActionClient.retry.maxRetryCount`|The maximum number of retries to communicate with overlord.|10| #### Running The peon should very rarely ever be run independent of the middle manager. ``` io.druid.cli.Main internal peon ``` The task file contains the task JSON object. The status file indicates where the task status will be output.