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 -
1
bin/pinot-admin.sh StartController -configFileName /path/to/controller.conf
Copied!
Controller.conf can have the following properties -

Primary Configuration

Property
Default
Description
controller.vip.host
same as controller.host
The VIP hostname used to set the download URL for segments
controller.vip.port
same as controller.port
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
dual
Should be one of helix_only, pinot_only or dual
controller.resource.rebalance.strategy
org.apache.helix.controller. rebalancer.strategy.AutoRebalanceStrategy
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
org.apache.pinot.controller. api.access.AllowAllAccessFactory
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
org.apache.pinot.spi. filesystem.LocalPinotFS
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 modified 1mo ago