LogoLogo
release-0.9.0
release-0.9.0
  • Introduction
  • Basics
    • Concepts
    • Architecture
    • Components
      • Cluster
      • Controller
      • Broker
      • Server
      • Minion
      • Tenant
      • Schema
      • Table
      • Segment
      • Pinot Data Explorer
    • Getting Started
      • Running Pinot locally
      • Running Pinot in Docker
      • Running Pinot in Kubernetes
      • Public cloud examples
        • Running on Azure
        • Running on GCP
        • Running on AWS
      • Hdfs as Deep Storage
      • Manual cluster setup
      • Batch import example
      • Stream ingestion example
      • Troubleshooting Pinot
      • Frequently Asked Questions (FAQs)
        • General
        • Pinot On Kubernetes FAQ
        • Ingestion FAQ
        • Query FAQ
        • Operations FAQ
    • Import Data
      • Batch Ingestion
        • Spark
        • Hadoop
        • Backfill Data
        • Dimension Table
      • Stream ingestion
        • Apache Kafka
        • Amazon Kinesis
      • Stream Ingestion with Upsert
      • File systems
        • Amazon S3
        • Azure Data Lake Storage
        • HDFS
        • Google Cloud Storage
      • Input formats
      • Complex Type (Array, Map) Handling
    • Indexing
      • Forward Index
      • Inverted Index
      • Star-Tree Index
      • Bloom Filter
      • Range Index
      • Text search support
      • JSON Index
      • Geospatial
    • Releases
      • 0.9.0
      • 0.8.0
      • 0.7.1
      • 0.6.0
      • 0.5.0
      • 0.4.0
      • 0.3.0
      • 0.2.0
      • 0.1.0
    • Recipes
      • GitHub Events Stream
  • For Users
    • Query
      • Querying Pinot
      • Filtering with IdSet
      • Supported Transformations
      • Supported Aggregations
      • User-Defined Functions (UDFs)
      • Cardinality Estimation
      • Lookup UDF Join
      • Querying JSON data
    • APIs
      • Broker Query API
        • Query Response Format
      • Controller Admin API
    • External Clients
      • JDBC
      • Java
      • Python
      • Golang
    • Tutorials
      • Use OSS as Deep Storage for Pinot
      • Ingest Parquet Files from S3 Using Spark
      • Creating Pinot Segments
      • Use S3 as Deep Storage for Pinot
      • Use S3 and Pinot in Docker
      • Batch Data Ingestion In Practice
      • Schema Evolution
  • For Developers
    • Basics
      • Extending Pinot
        • Writing Custom Aggregation Function
        • Segment Fetchers
      • Contribution Guidelines
      • Code Setup
      • Code Modules and Organization
      • Update Documentation
    • Advanced
      • Data Ingestion Overview
      • Ingestion Transformations
      • Null Value Support
      • Advanced Pinot Setup
    • Plugins
      • Write Custom Plugins
        • Input Format Plugin
        • Filesystem Plugin
        • Batch Segment Fetcher Plugin
        • Stream Ingestion Plugin
    • Design Documents
      • Segment Writer API
  • For Operators
    • Deployment and Monitoring
      • Setup cluster
      • Setup table
      • Setup ingestion
      • Decoupling Controller from the Data Path
      • Segment Assignment
      • Instance Assignment
      • Rebalance
        • Rebalance Servers
        • Rebalance Brokers
      • Tiered Storage
      • Pinot managed Offline flows
      • Minion merge rollup task
      • Access Control
      • Monitoring
      • Tuning
        • Realtime
        • Routing
      • Upgrading Pinot with confidence
    • Command-Line Interface (CLI)
    • Configuration Recommendation Engine
    • Tutorials
      • Authentication, Authorization, and ACLs
      • Configuring TLS/SSL
      • Build Docker Images
      • Running Pinot in Production
      • Kubernetes Deployment
      • Amazon EKS (Kafka)
      • Amazon MSK (Kafka)
      • Monitor Pinot using Prometheus and Grafana
  • Configuration Reference
    • Cluster
    • Controller
    • Broker
    • Server
    • Table
    • Schema
    • Ingestion Job Spec
  • RESOURCES
    • Community
    • Team
    • Blogs
    • Presentations
    • Videos
  • Integrations
    • Tableau
    • Trino
    • ThirdEye
    • Superset
    • Presto
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Configuration Reference

Server

Server configuration can be provided as part of the server startup parameters.

bin/pinot-admin.sh StartServer -configFileName /path/to/server.conf

server.conf can have the following properties

Property

Default

Description

pinot.server.netty.port

8098

Port to query Pinot Server

pinot.server.netty.host

Pinot server hostname

pinot.server.adminapi.port

8097

Port for Pinot Server Admin UI

pinot.server.instance.id

By default the server instance id used by Helix is Server_hostname_port where the hostname and port are configured through host and port config values above. This config overwrites the default setting. User can put server id independent of the server's hostname and port.

pinot.server.instance.dataDir

java.io.tmpdir + /PinotServer/index

Directory to hold all the data

pinot.server.instance.consumerDir

pinot.server.instance.segmentTarDir

java.io.tmpdir + /PinotServer/segmentTar

Directory to hold temporary segments downloaded from Controller or Deep Store

pinot.server.instance.readMode

mmap

pinot.server.instance.reload.consumingSegment

false

Specifies if the reload segment API should reload the consuming segments. This is useful when the corresponding schema is updated and we want the changes to be reflected in the consuming segment.

pinot.server.instance.data.manager.class

org.apache.pinot.server. starter.helix.HelixInstanceDataManager

pinot.query.scheduler.name

fcfs

Currently only FCFS (first-come-first-serve) is supported

pinot.query.scheduler.query_runner_threads

CPU cores

Main thread to execute the queries (one thread per query)

pinot.query.scheduler.query_worker_threads

2 * CPU cores

Worker thread to process the segments (multiple threads per query)

pinot.query.scheduler.query.log.maxRatePerSecond

unlimited

Maximum queries to be logged per second. Queries with exceptions and costly queries are always logged.

pinot.server.query.executor.pruner.class

ValidSegmentPruner,DataSchemaSegmentPruner, ColumnValueSegmentPruner,SelectionQuerySegmentPruner

pinot.server.query.executor.timeout

15000

Timeout for Server to process Query in Milliseconds

pinot.server.query.executor.class

org.apache.pinot.core.query. executor.ServerQueryExecutorV1Impl

pinot.server.requestHandlerFactory.class

org.apache.pinot.server. request.SimpleRequestHandlerFactory

pinot.server.instance.segment.format.version

pinot.server.instance.enable.split.commit

pinot.server.instance.enable.commitend.metadata

pinot.server.instance.realtime.max.parallel.segment.builds

0

Specifies how many parallel realtime segments can be built. Value of <= 0 indicates unlimited.

pinot.server.instance.realtime.alloc.offheap

false

Boolean value to control whether memory for realtime consuming segments should be allocated off-heap.

pinot.server.instance.realtime.alloc.offheap.direct

false

If 'realtime.alloc.offheap' is set to true, this boolean value controls whether the corresponding allocation should be direct or not (false indicate mmap allocation)

pinot.server.startup.minResourcePercent

100

pinot.server.starter.realtimeConsumptionCatchupWaitMs

0

pinot.server.startup.timeoutMs

10 minutes

pinot.server.startup.enableServiceStatusCheck

true

pinot.server.startup.serviceStatusCheckIntervalMs

10 seconds

pinot.server.shutdown.timeoutMs

10 minutes

pinot.server.shutdown.enableQueryCheck

true

pinot.server.shutdown.noQueryThresholdMs

15 seconds

pinot.server.shutdown.enableResourceCheck

false

pinot.server.shutdown.resourceCheckIntervalMs

10 seconds

pinot.server.admin.access.control.factory.class

org.apache.pinot.server. api.access.AllowAllAccessFactory

pinot.server.adminapi.access.protocols

http

Ingress protocols to access server admin api (http or https or http,https)

pinot.server.adminapi.access.protocols.http.port

Port to access server admin api via http

pinot.server.adminapi.broker.protocols.https.port

Port to access server admin api via https

pinot.server.tls.keystore.path

Path to server TLS keystore

pinot.server.tls.keystore.password

keystore password

pinot.server.tls.truststore.path

Path to server TLS truststore

pinot.server.tls.truststore.password

truststore password

inot.server.tls.client.auth

false

toggle for requiring TLS client auth

pinot.server.netty.enabled

true

toggle for enabling unsecured netty connections to server

pinot.server.netty.port

Port for accessing pinot server via unsecured netty

pinot.server.nettytls.enabled

pinot.server.nettytls.port

Port for accessing pinot server via TLS-secured netty

PreviousBrokerNextTable

Last updated 2 years ago

Was this helpful?