Configuring Dremio
- Updated2026-02-03
- 2 minute(s) read
The SystemLink DataFrame Service stores and indexes tabular data using Dremio.
Dremio is a query engine. The DataFrame Service uses this engine to ingest data and execute queries against data tables. Dremio requires special attention when initially deploying to SystemLink and when DataFrame Service usage patterns increase.
Tainting Dremio Nodes for Resource Efficiency
Configure Dremio deployments to avoid node resource contention with other deployments in the cluster.
-
Apply a taint named dremio with a value of
true and a NoSchedule effect.
kubectl: kubectl taint nodes <your-node-name> dremio=true:NoSchedule
-
Apply a label named dremio with a value of
true.
kubectl: kubectl label nodes <your-node-name> dremio=true
-
To clear pods that Kubernetes already scheduled to this node, manually drain
the node.
kubectl: kubectl drain --ignore-daemonsets <your-node-name>
- Open systemlink-values.yaml.
- Configure dataframeservice.sldremio.zookeeper.count to the number of nodes with the dremio label.
- Configure dataframeservice.sldremio.nodeSelector to dremio: "true".
- Optional:
Adjust the following parameters so that the tainted nodes can accommodate the
pods.
- dataframeservice.sldremio.coordinator.cpu
- dataframeservice.sldremio.coordinator.memory
- dataframeservice.sldremio.executor.cpu
- dataframeservice.sldremio.executor.memory
- dataframeservice.sldremio.executor.count
Note Reducing resource requests and executor counts substantially from the defaults might diminish DataFrame Service query performance.
Setting Concurrent Query Limits
Adjust the default query limits for Dremio.
- A low-cost queue that processes small queries.
- A high-cost queue that processes large and complex queries. Note This queue typically handles queries that scan one million or more rows.
Each queue enforces a limit on the number of queries that can execute in parallel. By default, the high-cost queue has a limit of 10 queries. The low-cost queue has a limit of 100 queries. After reaching these limits, the DataFrame Service holds excess requests until Dremio is able to process the queries. Exceeding the set limit results in higher query latency.
- Open the systemlink-values.yaml file.
- Adjust the high-cost queue limit by configuring the dataframeservice.queryEngine.workloadManagement.highCostUserQueriesQueue.concurrencyLimit value.
- Adjust the low-cost queue limit by configuring the dataframeservice.queryEngine.workloadManagement.lowCostUserQueriesQueue.concurrencyLimit value.
- Optional:
Adjust the following parameters to ensure Dremio has the resources to support
the new limits.
- dataframeservice.sldremio.executor.cpu
- dataframeservice.sldremio.executor.memory
- dataframeservice.sldremio.executor.count
Related Information
- Taints and Tolerations
- Assign Pods to Nodes
- Safely Drain a Node
- Configuring File Storage
Several SystemLink Enterprise services require a file storage provider.
- Data Management Sizing Example