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.min_is_size_for_compression | -1 | Minimum number of bytes in idealstate znode after which idealstate znodes are written to zookeeper in a compressed form. A value of -1 keeps the hard-coded behavior (of compressing only when 1000 segments or more in a table) |
controller.helix.cluster.name | Pinot Cluster Name, required. | |
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 |
pinot.controller.http.server.thread.pool.corePoolSize | 2 * cores | Config for the thread-pool used by pinot-controller's http-server. |
pinot.controller.http.server.thread.pool.maxPoolSize | 2 * cores | Config for the thread-pool used by pinot-controller's http-server. |
Periodic Tasks Configuration
Refer to Periodic tasks
Last updated