Controller
Most of the properties in Pinot are set in Zookeeper via Helix. However, you can also set properties in controller.conf
file. You can specify the path to config file at the startup time as follows -
Controller.conf
can have the following properties -
Primary Configuration
Property | Default | Description |
controller.vip.host | same as | The VIP hostname used to set the download URL for segments |
controller.vip.port | same as | |
controller.vip.protocol | ||
controller.host | localhost | The ip of the host on which controller is running |
controller.port | 9000 | The port on which controller should run |
controller.access.protocol | ||
controller.data.dir | ${java.io.tmpdir}/PinotController | Directory to host segment data |
controller.local.temp.dir | ||
controller.zk.str | localhost:2181 | zookeeper host:port string to connect |
controller.update_segment_state_model | false | |
controller.helix.cluster.name | ||
controller.tenant.isolation.enable | true | Enable Tenant Isolation, default is single tenant cluste |
controller.enable.split.commit | false | |
controller.query.console.useHttps | false | use https instead of http for cluster |
controller.upload.onlineToOfflineTimeout | 2 minutes | |
controller.mode |
| Should be one of |
controller.resource.rebalance.strategy |
| |
controller.realtime.segment.commit.timeoutSeconds | 120 seconds | request timeout for segment commit |
controller.deleted.segments.retentionInDays | 7 days | duration for which to retain deleted segments |
controller.admin.access.control.factory.class |
| |
controller.segment.upload.timeoutInMillis | 10 minutes | timeout for upload of segments. |
controller.realtime.segment.metadata.commit.numLocks | 64 | |
controller.enable.storage.quota.check | true | |
controller.enable.batch.message.mode | false | |
controller.allow.hlc.tables | true | |
controller.storage.factory.class.file |
| |
table.minReplicas | 1 | |
controller.access.protocols | http | Ingress protocols to access controller (http or https or http,https) |
controller.access.protocols.http.port | Port to access controller via http | |
controller.broker.protocols.https.port | Port to access controller via https | |
controller.broker.protocol | http | protocol for forwarding query requests (http or https) |
controller.broker.port.override | override for broker port when forwarding query requests (use in multi-ingress scenarios) | |
controller.tls.keystore.path | Path to controller TLS keystore | |
controller.tls.keystore.password | keystore password | |
controller.tls.truststore.path | Path to controller TLS truststore | |
controller.tls.truststore.password | truststore password | |
controller.tls.client.auth | false | toggle for requiring TLS client auth |
Periodic Tasks Configuration
Property | Default | Description |
controller.retention.frequencyInSeconds (Deprecated) | 6 hours | frequency at which to trigger retention checking tasks |
controller.retention.frequencyPeriod | 6 hours | frequency at which to trigger retention checking tasks |
controller.offline.segment.interval.checker.frequencyInSeconds (Deprecated) | 24 hours | |
controller.offline.segment.interval.checker.frequencyPeriod | 24 hours | |
controller.realtime.segment.validation.frequencyInSeconds (Deprecated) | 1 hour | |
controller.realtime.segment.validation.frequencyPeriod | 1 hour | |
controller.realtime.segment.deepStoreUploadRetryEnabled | false | |
controller.broker.resource.validation.frequencyInSeconds (Deprecated) | 1 hour | |
controller.broker.resource.validation.frequencyPeriod | 1 hour | |
controller.broker.resource.validation.initialDelayInSeconds | 120-300 seconds | |
controller.statuschecker.frequencyInSeconds (Deprecated) | 5 minutes | |
controller.statuschecker.frequencyPeriod | 5 minutes | |
controller.statuschecker.waitForPushTimeInSeconds (Deprecated) | 10 minutes | |
controller.statuschecker.waitForPushTimePeriod | 10 minutes | |
controller.task.frequencyInSeconds (Deprecated) | -1 (disabled) | |
controller.task.frequencyPeriod | -1 (disabled) | |
controller.realtime.segment.relocator.frequency | 1 hour | |
controller.segment.level.validation.intervalInSeconds (Deprecated) | 24 hours | |
controller.segment.level.validation.intervalPeriod | 24 hours | |
controller.statuschecker.intialDelayInSeconds | 120-300 seconds | |
controller.retentionManager.initialDelayInSeconds | 120-300 seconds | |
controller.offlineSegmentIntervalChecker.initialDelayInSeconds | 120-300 seconds | |
controller.realtimeSegmentRelocation.initialDelayInSeconds | 120-300 seconds |
Last updated