mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2025-12-22 22:20:02 +00:00
* feat: move memory_manager to common crate Signed-off-by: jeremyhi <fengjiachun@gmail.com> * chore: add license header Signed-off-by: jeremyhi <fengjiachun@gmail.com> * fix: by AI comment Signed-off-by: jeremyhi <fengjiachun@gmail.com> --------- Signed-off-by: jeremyhi <fengjiachun@gmail.com>
86 KiB
86 KiB
Configurations
Standalone Mode
| Key | Type | Default | Descriptions |
|---|---|---|---|
default_timezone |
String | Unset | The default timezone of the server. |
default_column_prefix |
String | Unset | The default column prefix for auto-created time index and value columns. |
init_regions_in_background |
Bool | false |
Initialize all regions in the background during the startup. By default, it provides services after all regions have been initialized. |
init_regions_parallelism |
Integer | 16 |
Parallelism of initializing regions. |
max_concurrent_queries |
Integer | 0 |
The maximum current queries allowed to be executed. Zero means unlimited. NOTE: This setting affects scan_memory_limit's privileged tier allocation. When set, 70% of queries get privileged memory access (full scan_memory_limit). The remaining 30% get standard tier access (70% of scan_memory_limit). |
enable_telemetry |
Bool | true |
Enable telemetry to collect anonymous usage data. Enabled by default. |
max_in_flight_write_bytes |
String | Unset | The maximum in-flight write bytes. |
runtime |
-- | -- | The runtime options. |
runtime.global_rt_size |
Integer | 8 |
The number of threads to execute the runtime for global read operations. |
runtime.compact_rt_size |
Integer | 4 |
The number of threads to execute the runtime for global write operations. |
http |
-- | -- | The HTTP server options. |
http.addr |
String | 127.0.0.1:4000 |
The address to bind the HTTP server. |
http.timeout |
String | 0s |
HTTP request timeout. Set to 0 to disable timeout. |
http.body_limit |
String | 64MB |
HTTP request body limit. The following units are supported: B, KB, KiB, MB, MiB, GB, GiB, TB, TiB, PB, PiB.Set to 0 to disable limit. |
http.max_total_body_memory |
String | Unset | Maximum total memory for all concurrent HTTP request bodies. Set to 0 to disable the limit. Default: "0" (unlimited) |
http.enable_cors |
Bool | true |
HTTP CORS support, it's turned on by default This allows browser to access http APIs without CORS restrictions |
http.cors_allowed_origins |
Array | Unset | Customize allowed origins for HTTP CORS. |
http.prom_validation_mode |
String | strict |
Whether to enable validation for Prometheus remote write requests. Available options: - strict: deny invalid UTF-8 strings (default). - lossy: allow invalid UTF-8 strings, replace invalid characters with REPLACEMENT_CHARACTER(U+FFFD). - unchecked: do not valid strings. |
grpc |
-- | -- | The gRPC server options. |
grpc.bind_addr |
String | 127.0.0.1:4001 |
The address to bind the gRPC server. |
grpc.runtime_size |
Integer | 8 |
The number of server worker threads. |
grpc.max_total_message_memory |
String | Unset | Maximum total memory for all concurrent gRPC request messages. Set to 0 to disable the limit. Default: "0" (unlimited) |
grpc.max_connection_age |
String | Unset | The maximum connection age for gRPC connection. The value can be a human-readable time string. For example: 10m for ten minutes or 1h for one hour.Refer to https://grpc.io/docs/guides/keepalive/ for more details. |
grpc.tls |
-- | -- | gRPC server TLS options, see mysql.tls section. |
grpc.tls.mode |
String | disable |
TLS mode. |
grpc.tls.cert_path |
String | Unset | Certificate file path. |
grpc.tls.key_path |
String | Unset | Private key file path. |
grpc.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload. For now, gRPC tls config does not support auto reload. |
mysql |
-- | -- | MySQL server options. |
mysql.enable |
Bool | true |
Whether to enable. |
mysql.addr |
String | 127.0.0.1:4002 |
The addr to bind the MySQL server. |
mysql.runtime_size |
Integer | 2 |
The number of server worker threads. |
mysql.keep_alive |
String | 0s |
Server-side keep-alive time. Set to 0 (default) to disable. |
mysql.prepared_stmt_cache_size |
Integer | 10000 |
Maximum entries in the MySQL prepared statement cache; default is 10,000. |
mysql.tls |
-- | -- | -- |
mysql.tls.mode |
String | disable |
TLS mode, refer to https://www.postgresql.org/docs/current/libpq-ssl.html - disable (default value)- prefer- require- verify-ca- verify-full |
mysql.tls.cert_path |
String | Unset | Certificate file path. |
mysql.tls.key_path |
String | Unset | Private key file path. |
mysql.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload |
postgres |
-- | -- | PostgresSQL server options. |
postgres.enable |
Bool | true |
Whether to enable |
postgres.addr |
String | 127.0.0.1:4003 |
The addr to bind the PostgresSQL server. |
postgres.runtime_size |
Integer | 2 |
The number of server worker threads. |
postgres.keep_alive |
String | 0s |
Server-side keep-alive time. Set to 0 (default) to disable. |
postgres.tls |
-- | -- | PostgresSQL server TLS options, see mysql.tls section. |
postgres.tls.mode |
String | disable |
TLS mode. |
postgres.tls.cert_path |
String | Unset | Certificate file path. |
postgres.tls.key_path |
String | Unset | Private key file path. |
postgres.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload |
opentsdb |
-- | -- | OpenTSDB protocol options. |
opentsdb.enable |
Bool | true |
Whether to enable OpenTSDB put in HTTP API. |
influxdb |
-- | -- | InfluxDB protocol options. |
influxdb.enable |
Bool | true |
Whether to enable InfluxDB protocol in HTTP API. |
jaeger |
-- | -- | Jaeger protocol options. |
jaeger.enable |
Bool | true |
Whether to enable Jaeger protocol in HTTP API. |
prom_store |
-- | -- | Prometheus remote storage options |
prom_store.enable |
Bool | true |
Whether to enable Prometheus remote write and read in HTTP API. |
prom_store.with_metric_engine |
Bool | true |
Whether to store the data from Prometheus remote write in metric engine. |
wal |
-- | -- | The WAL options. |
wal.provider |
String | raft_engine |
The provider of the WAL. - raft_engine: the wal is stored in the local file system by raft-engine.- kafka: it's remote wal that data is stored in Kafka. |
wal.dir |
String | Unset | The directory to store the WAL files. It's only used when the provider is raft_engine. |
wal.file_size |
String | 128MB |
The size of the WAL segment file. It's only used when the provider is raft_engine. |
wal.purge_threshold |
String | 1GB |
The threshold of the WAL size to trigger a purge. It's only used when the provider is raft_engine. |
wal.purge_interval |
String | 1m |
The interval to trigger a purge. It's only used when the provider is raft_engine. |
wal.read_batch_size |
Integer | 128 |
The read batch size. It's only used when the provider is raft_engine. |
wal.sync_write |
Bool | false |
Whether to use sync write. It's only used when the provider is raft_engine. |
wal.enable_log_recycle |
Bool | true |
Whether to reuse logically truncated log files. It's only used when the provider is raft_engine. |
wal.prefill_log_files |
Bool | false |
Whether to pre-create log files on start up. It's only used when the provider is raft_engine. |
wal.sync_period |
String | 10s |
Duration for fsyncing log files. It's only used when the provider is raft_engine. |
wal.recovery_parallelism |
Integer | 2 |
Parallelism during WAL recovery. |
wal.broker_endpoints |
Array | -- | The Kafka broker endpoints. It's only used when the provider is kafka. |
wal.auto_create_topics |
Bool | true |
Automatically create topics for WAL. Set to true to automatically create topics for WAL.Otherwise, use topics named topic_name_prefix_[0..num_topics) |
wal.num_topics |
Integer | 64 |
Number of topics. It's only used when the provider is kafka. |
wal.selector_type |
String | round_robin |
Topic selector type. Available selector types: - round_robin (default)It's only used when the provider is kafka. |
wal.topic_name_prefix |
String | greptimedb_wal_topic |
A Kafka topic is constructed by concatenating topic_name_prefix and topic_id.i.g., greptimedb_wal_topic_0, greptimedb_wal_topic_1. It's only used when the provider is kafka. |
wal.replication_factor |
Integer | 1 |
Expected number of replicas of each partition. It's only used when the provider is kafka. |
wal.create_topic_timeout |
String | 30s |
Above which a topic creation operation will be cancelled. It's only used when the provider is kafka. |
wal.max_batch_bytes |
String | 1MB |
The max size of a single producer batch. Warning: Kafka has a default limit of 1MB per message in a topic. It's only used when the provider is kafka. |
wal.consumer_wait_timeout |
String | 100ms |
The consumer wait timeout. It's only used when the provider is kafka. |
wal.overwrite_entry_start_id |
Bool | false |
Ignore missing entries during read WAL. It's only used when the provider is kafka.This option ensures that when Kafka messages are deleted, the system can still successfully replay memtable data without throwing an out-of-range error. However, enabling this option might lead to unexpected data loss, as the system will skip over missing entries instead of treating them as critical errors. |
metadata_store |
-- | -- | Metadata storage options. |
metadata_store.file_size |
String | 64MB |
The size of the metadata store log file. |
metadata_store.purge_threshold |
String | 256MB |
The threshold of the metadata store size to trigger a purge. |
metadata_store.purge_interval |
String | 1m |
The interval of the metadata store to trigger a purge. |
procedure |
-- | -- | Procedure storage options. |
procedure.max_retry_times |
Integer | 3 |
Procedure max retry time. |
procedure.retry_delay |
String | 500ms |
Initial retry delay of procedures, increases exponentially |
procedure.max_running_procedures |
Integer | 128 |
Max running procedures. The maximum number of procedures that can be running at the same time. If the number of running procedures exceeds this limit, the procedure will be rejected. |
flow |
-- | -- | flow engine options. |
flow.num_workers |
Integer | 0 |
The number of flow worker in flownode. Not setting(or set to 0) this value will use the number of CPU cores divided by 2. |
query |
-- | -- | The query engine options. |
query.parallelism |
Integer | 0 |
Parallelism of the query engine. Default to 0, which means the number of CPU cores. |
query.memory_pool_size |
String | 50% |
Memory pool size for query execution operators (aggregation, sorting, join). Supports absolute size (e.g., "2GB", "4GB") or percentage of system memory (e.g., "20%"). Setting it to 0 disables the limit (unbounded, default behavior). When this limit is reached, queries will fail with ResourceExhausted error. NOTE: This does NOT limit memory used by table scans. |
storage |
-- | -- | The data storage options. |
storage.data_home |
String | ./greptimedb_data |
The working home directory. |
storage.type |
String | File |
The storage type used to store the data. - File: the data is stored in the local file system.- S3: the data is stored in the S3 object storage.- Gcs: the data is stored in the Google Cloud Storage.- Azblob: the data is stored in the Azure Blob Storage.- Oss: the data is stored in the Aliyun OSS. |
storage.enable_read_cache |
Bool | true |
Whether to enable read cache. If not set, the read cache will be enabled by default when using object storage. |
storage.cache_path |
String | Unset | Read cache configuration for object storage such as 'S3' etc, it's configured by default when using object storage. It is recommended to configure it when using object storage for better performance. A local file directory, defaults to {data_home}. An empty string means disabling. |
storage.cache_capacity |
String | Unset | The local file cache capacity in bytes. If your disk space is sufficient, it is recommended to set it larger. |
storage.bucket |
String | Unset | The S3 bucket name. It's only used when the storage type is S3, Oss and Gcs. |
storage.root |
String | Unset | The S3 data will be stored in the specified prefix, for example, s3://${bucket}/${root}.It's only used when the storage type is S3, Oss and Azblob. |
storage.access_key_id |
String | Unset | The access key id of the aws account. It's highly recommended to use AWS IAM roles instead of hardcoding the access key id and secret key. It's only used when the storage type is S3 and Oss. |
storage.secret_access_key |
String | Unset | The secret access key of the aws account. It's highly recommended to use AWS IAM roles instead of hardcoding the access key id and secret key. It's only used when the storage type is S3. |
storage.access_key_secret |
String | Unset | The secret access key of the aliyun account. It's only used when the storage type is Oss. |
storage.account_name |
String | Unset | The account key of the azure account. It's only used when the storage type is Azblob. |
storage.account_key |
String | Unset | The account key of the azure account. It's only used when the storage type is Azblob. |
storage.scope |
String | Unset | The scope of the google cloud storage. It's only used when the storage type is Gcs. |
storage.credential_path |
String | Unset | The credential path of the google cloud storage. It's only used when the storage type is Gcs. |
storage.credential |
String | Unset | The credential of the google cloud storage. It's only used when the storage type is Gcs. |
storage.container |
String | Unset | The container of the azure account. It's only used when the storage type is Azblob. |
storage.sas_token |
String | Unset | The sas token of the azure account. It's only used when the storage type is Azblob. |
storage.endpoint |
String | Unset | The endpoint of the S3 service. It's only used when the storage type is S3, Oss, Gcs and Azblob. |
storage.region |
String | Unset | The region of the S3 service. It's only used when the storage type is S3, Oss, Gcs and Azblob. |
storage.http_client |
-- | -- | The http client options to the storage. It's only used when the storage type is S3, Oss, Gcs and Azblob. |
storage.http_client.pool_max_idle_per_host |
Integer | 1024 |
The maximum idle connection per host allowed in the pool. |
storage.http_client.connect_timeout |
String | 30s |
The timeout for only the connect phase of a http client. |
storage.http_client.timeout |
String | 30s |
The total request timeout, applied from when the request starts connecting until the response body has finished. Also considered a total deadline. |
storage.http_client.pool_idle_timeout |
String | 90s |
The timeout for idle sockets being kept-alive. |
storage.http_client.skip_ssl_validation |
Bool | false |
To skip the ssl verification Security Notice: Setting skip_ssl_validation = true disables certificate verification, making connections vulnerable to man-in-the-middle attacks. Only use this in development or trusted private networks. |
[[region_engine]] |
-- | -- | The region engine options. You can configure multiple region engines. |
region_engine.mito |
-- | -- | The Mito engine options. |
region_engine.mito.num_workers |
Integer | 8 |
Number of region workers. |
region_engine.mito.worker_channel_size |
Integer | 128 |
Request channel size of each worker. |
region_engine.mito.worker_request_batch_size |
Integer | 64 |
Max batch size for a worker to handle requests. |
region_engine.mito.manifest_checkpoint_distance |
Integer | 10 |
Number of meta action updated to trigger a new checkpoint for the manifest. |
region_engine.mito.compress_manifest |
Bool | false |
Whether to compress manifest and checkpoint file by gzip (default false). |
region_engine.mito.max_background_flushes |
Integer | Auto | Max number of running background flush jobs (default: 1/2 of cpu cores). |
region_engine.mito.max_background_compactions |
Integer | Auto | Max number of running background compaction jobs (default: 1/4 of cpu cores). |
region_engine.mito.max_background_purges |
Integer | Auto | Max number of running background purge jobs (default: number of cpu cores). |
region_engine.mito.experimental_compaction_memory_limit |
String | 0 | Memory budget for compaction tasks. Setting it to 0 or "unlimited" disables the limit. |
region_engine.mito.experimental_compaction_on_exhausted |
String | wait | Behavior when compaction cannot acquire memory from the budget. Options: "wait" (default, 10s), "wait()", "fail" |
region_engine.mito.auto_flush_interval |
String | 1h |
Interval to auto flush a region if it has not flushed yet. |
region_engine.mito.global_write_buffer_size |
String | Auto | Global write buffer size for all regions. If not set, it's default to 1/8 of OS memory with a max limitation of 1GB. |
region_engine.mito.global_write_buffer_reject_size |
String | Auto | Global write buffer size threshold to reject write requests. If not set, it's default to 2 times of global_write_buffer_size. |
region_engine.mito.sst_meta_cache_size |
String | Auto | Cache size for SST metadata. Setting it to 0 to disable the cache. If not set, it's default to 1/32 of OS memory with a max limitation of 128MB. |
region_engine.mito.vector_cache_size |
String | Auto | Cache size for vectors and arrow arrays. Setting it to 0 to disable the cache. If not set, it's default to 1/16 of OS memory with a max limitation of 512MB. |
region_engine.mito.page_cache_size |
String | Auto | Cache size for pages of SST row groups. Setting it to 0 to disable the cache. If not set, it's default to 1/8 of OS memory. |
region_engine.mito.selector_result_cache_size |
String | Auto | Cache size for time series selector (e.g. last_value()). Setting it to 0 to disable the cache.If not set, it's default to 1/16 of OS memory with a max limitation of 512MB. |
region_engine.mito.enable_write_cache |
Bool | false |
Whether to enable the write cache, it's enabled by default when using object storage. It is recommended to enable it when using object storage for better performance. |
region_engine.mito.write_cache_path |
String | "" |
File system path for write cache, defaults to {data_home}. |
region_engine.mito.write_cache_size |
String | 5GiB |
Capacity for write cache. If your disk space is sufficient, it is recommended to set it larger. |
region_engine.mito.write_cache_ttl |
String | Unset | TTL for write cache. |
region_engine.mito.preload_index_cache |
Bool | true |
Preload index (puffin) files into cache on region open (default: true). When enabled, index files are loaded into the write cache during region initialization, which can improve query performance at the cost of longer startup times. |
region_engine.mito.index_cache_percent |
Integer | 20 |
Percentage of write cache capacity allocated for index (puffin) files (default: 20). The remaining capacity is used for data (parquet) files. Must be between 0 and 100 (exclusive). For example, with a 5GiB write cache and 20% allocation, 1GiB is reserved for index files and 4GiB for data files. |
region_engine.mito.sst_write_buffer_size |
String | 8MB |
Buffer size for SST writing. |
region_engine.mito.parallel_scan_channel_size |
Integer | 32 |
Capacity of the channel to send data from parallel scan tasks to the main task. |
region_engine.mito.max_concurrent_scan_files |
Integer | 384 |
Maximum number of SST files to scan concurrently. |
region_engine.mito.allow_stale_entries |
Bool | false |
Whether to allow stale WAL entries read during replay. |
region_engine.mito.scan_memory_limit |
String | 50% |
Memory limit for table scans across all queries. Supports absolute size (e.g., "2GB") or percentage of system memory (e.g., "20%"). Setting it to 0 disables the limit. NOTE: Works with max_concurrent_queries for tiered memory allocation. - If max_concurrent_queries is set: 70% of queries get full access, 30% get 70% access. - If max_concurrent_queries is 0 (unlimited): first 20 queries get full access, rest get 70% access. |
region_engine.mito.min_compaction_interval |
String | 0m |
Minimum time interval between two compactions. To align with the old behavior, the default value is 0 (no restrictions). |
region_engine.mito.default_experimental_flat_format |
Bool | false |
Whether to enable experimental flat format as the default format. |
region_engine.mito.index |
-- | -- | The options for index in Mito engine. |
region_engine.mito.index.aux_path |
String | "" |
Auxiliary directory path for the index in filesystem, used to store intermediate files for creating the index and staging files for searching the index, defaults to {data_home}/index_intermediate.The default name for this directory is index_intermediate for backward compatibility.This path contains two subdirectories: - __intm: for storing intermediate files used during creating index.- staging: for storing staging files used during searching index. |
region_engine.mito.index.staging_size |
String | 2GB |
The max capacity of the staging directory. |
region_engine.mito.index.staging_ttl |
String | 7d |
The TTL of the staging directory. Defaults to 7 days. Setting it to "0s" to disable TTL. |
region_engine.mito.index.metadata_cache_size |
String | 64MiB |
Cache size for inverted index metadata. |
region_engine.mito.index.content_cache_size |
String | 128MiB |
Cache size for inverted index content. |
region_engine.mito.index.content_cache_page_size |
String | 64KiB |
Page size for inverted index content cache. |
region_engine.mito.index.result_cache_size |
String | 128MiB |
Cache size for index result. |
region_engine.mito.inverted_index |
-- | -- | The options for inverted index in Mito engine. |
region_engine.mito.inverted_index.create_on_flush |
String | auto |
Whether to create the index on flush. - auto: automatically (default)- disable: never |
region_engine.mito.inverted_index.create_on_compaction |
String | auto |
Whether to create the index on compaction. - auto: automatically (default)- disable: never |
region_engine.mito.inverted_index.apply_on_query |
String | auto |
Whether to apply the index on query - auto: automatically (default)- disable: never |
region_engine.mito.inverted_index.mem_threshold_on_create |
String | auto |
Memory threshold for performing an external sort during index creation. - auto: automatically determine the threshold based on the system memory size (default)- unlimited: no memory limit- [size] e.g. 64MB: fixed memory threshold |
region_engine.mito.inverted_index.intermediate_path |
String | "" |
Deprecated, use region_engine.mito.index.aux_path instead. |
region_engine.mito.fulltext_index |
-- | -- | The options for full-text index in Mito engine. |
region_engine.mito.fulltext_index.create_on_flush |
String | auto |
Whether to create the index on flush. - auto: automatically (default)- disable: never |
region_engine.mito.fulltext_index.create_on_compaction |
String | auto |
Whether to create the index on compaction. - auto: automatically (default)- disable: never |
region_engine.mito.fulltext_index.apply_on_query |
String | auto |
Whether to apply the index on query - auto: automatically (default)- disable: never |
region_engine.mito.fulltext_index.mem_threshold_on_create |
String | auto |
Memory threshold for index creation. - auto: automatically determine the threshold based on the system memory size (default)- unlimited: no memory limit- [size] e.g. 64MB: fixed memory threshold |
region_engine.mito.bloom_filter_index |
-- | -- | The options for bloom filter in Mito engine. |
region_engine.mito.bloom_filter_index.create_on_flush |
String | auto |
Whether to create the bloom filter on flush. - auto: automatically (default)- disable: never |
region_engine.mito.bloom_filter_index.create_on_compaction |
String | auto |
Whether to create the bloom filter on compaction. - auto: automatically (default)- disable: never |
region_engine.mito.bloom_filter_index.apply_on_query |
String | auto |
Whether to apply the bloom filter on query - auto: automatically (default)- disable: never |
region_engine.mito.bloom_filter_index.mem_threshold_on_create |
String | auto |
Memory threshold for bloom filter creation. - auto: automatically determine the threshold based on the system memory size (default)- unlimited: no memory limit- [size] e.g. 64MB: fixed memory threshold |
region_engine.mito.memtable |
-- | -- | -- |
region_engine.mito.memtable.type |
String | time_series |
Memtable type. - time_series: time-series memtable- partition_tree: partition tree memtable (experimental) |
region_engine.mito.memtable.index_max_keys_per_shard |
Integer | 8192 |
The max number of keys in one shard. Only available for partition_tree memtable. |
region_engine.mito.memtable.data_freeze_threshold |
Integer | 32768 |
The max rows of data inside the actively writing buffer in one shard. Only available for partition_tree memtable. |
region_engine.mito.memtable.fork_dictionary_bytes |
String | 1GiB |
Max dictionary bytes. Only available for partition_tree memtable. |
region_engine.file |
-- | -- | Enable the file engine. |
region_engine.metric |
-- | -- | Metric engine options. |
region_engine.metric.sparse_primary_key_encoding |
Bool | true |
Whether to use sparse primary key encoding. |
logging |
-- | -- | The logging options. |
logging.dir |
String | ./greptimedb_data/logs |
The directory to store the log files. If set to empty, logs will not be written to files. |
logging.level |
String | Unset | The log level. Can be info/debug/warn/error. |
logging.enable_otlp_tracing |
Bool | false |
Enable OTLP tracing. |
logging.otlp_endpoint |
String | http://localhost:4318/v1/traces |
The OTLP tracing endpoint. |
logging.append_stdout |
Bool | true |
Whether to append logs to stdout. |
logging.log_format |
String | text |
The log format. Can be text/json. |
logging.max_log_files |
Integer | 720 |
The maximum amount of log files. |
logging.otlp_export_protocol |
String | http |
The OTLP tracing export protocol. Can be grpc/http. |
logging.otlp_headers |
-- | -- | Additional OTLP headers, only valid when using OTLP http |
logging.tracing_sample_ratio |
-- | Unset | The percentage of tracing will be sampled and exported. Valid range [0, 1], 1 means all traces are sampled, 0 means all traces are not sampled, the default value is 1.ratio > 1 are treated as 1. Fractions < 0 are treated as 0 |
logging.tracing_sample_ratio.default_ratio |
Float | 1.0 |
-- |
slow_query |
-- | -- | The slow query log options. |
slow_query.enable |
Bool | false |
Whether to enable slow query log. |
slow_query.record_type |
String | Unset | The record type of slow queries. It can be system_table or log. |
slow_query.threshold |
String | Unset | The threshold of slow query. |
slow_query.sample_ratio |
Float | Unset | The sampling ratio of slow query log. The value should be in the range of (0, 1]. |
tracing |
-- | -- | The tracing options. Only effect when compiled with tokio-console feature. |
tracing.tokio_console_addr |
String | Unset | The tokio console address. |
memory |
-- | -- | The memory options. |
memory.enable_heap_profiling |
Bool | true |
Whether to enable heap profiling activation during startup. When enabled, heap profiling will be activated if the MALLOC_CONF environment variableis set to "prof:true,prof_active:false". The official image adds this env variable. Default is true. |
Distributed Mode
Frontend
| Key | Type | Default | Descriptions |
|---|---|---|---|
default_timezone |
String | Unset | The default timezone of the server. |
default_column_prefix |
String | Unset | The default column prefix for auto-created time index and value columns. |
max_in_flight_write_bytes |
String | Unset | The maximum in-flight write bytes. |
runtime |
-- | -- | The runtime options. |
runtime.global_rt_size |
Integer | 8 |
The number of threads to execute the runtime for global read operations. |
runtime.compact_rt_size |
Integer | 4 |
The number of threads to execute the runtime for global write operations. |
heartbeat |
-- | -- | The heartbeat options. |
heartbeat.interval |
String | 18s |
Interval for sending heartbeat messages to the metasrv. |
heartbeat.retry_interval |
String | 3s |
Interval for retrying to send heartbeat messages to the metasrv. |
http |
-- | -- | The HTTP server options. |
http.addr |
String | 127.0.0.1:4000 |
The address to bind the HTTP server. |
http.timeout |
String | 0s |
HTTP request timeout. Set to 0 to disable timeout. |
http.body_limit |
String | 64MB |
HTTP request body limit. The following units are supported: B, KB, KiB, MB, MiB, GB, GiB, TB, TiB, PB, PiB.Set to 0 to disable limit. |
http.max_total_body_memory |
String | Unset | Maximum total memory for all concurrent HTTP request bodies. Set to 0 to disable the limit. Default: "0" (unlimited) |
http.enable_cors |
Bool | true |
HTTP CORS support, it's turned on by default This allows browser to access http APIs without CORS restrictions |
http.cors_allowed_origins |
Array | Unset | Customize allowed origins for HTTP CORS. |
http.prom_validation_mode |
String | strict |
Whether to enable validation for Prometheus remote write requests. Available options: - strict: deny invalid UTF-8 strings (default). - lossy: allow invalid UTF-8 strings, replace invalid characters with REPLACEMENT_CHARACTER(U+FFFD). - unchecked: do not valid strings. |
grpc |
-- | -- | The gRPC server options. |
grpc.bind_addr |
String | 127.0.0.1:4001 |
The address to bind the gRPC server. |
grpc.server_addr |
String | 127.0.0.1:4001 |
The address advertised to the metasrv, and used for connections from outside the host. If left empty or unset, the server will automatically use the IP address of the first network interface on the host, with the same port number as the one specified in grpc.bind_addr. |
grpc.runtime_size |
Integer | 8 |
The number of server worker threads. |
grpc.max_total_message_memory |
String | Unset | Maximum total memory for all concurrent gRPC request messages. Set to 0 to disable the limit. Default: "0" (unlimited) |
grpc.flight_compression |
String | arrow_ipc |
Compression mode for frontend side Arrow IPC service. Available options: - none: disable all compression- transport: only enable gRPC transport compression (zstd)- arrow_ipc: only enable Arrow IPC compression (lz4)- all: enable all compression.Default to none |
grpc.max_connection_age |
String | Unset | The maximum connection age for gRPC connection. The value can be a human-readable time string. For example: 10m for ten minutes or 1h for one hour.Refer to https://grpc.io/docs/guides/keepalive/ for more details. |
grpc.tls |
-- | -- | gRPC server TLS options, see mysql.tls section. |
grpc.tls.mode |
String | disable |
TLS mode. |
grpc.tls.cert_path |
String | Unset | Certificate file path. |
grpc.tls.key_path |
String | Unset | Private key file path. |
grpc.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload. For now, gRPC tls config does not support auto reload. |
internal_grpc |
-- | -- | The internal gRPC server options. Internal gRPC port for nodes inside cluster to access frontend. |
internal_grpc.bind_addr |
String | 127.0.0.1:4010 |
The address to bind the gRPC server. |
internal_grpc.server_addr |
String | 127.0.0.1:4010 |
The address advertised to the metasrv, and used for connections from outside the host. If left empty or unset, the server will automatically use the IP address of the first network interface on the host, with the same port number as the one specified in grpc.bind_addr. |
internal_grpc.runtime_size |
Integer | 8 |
The number of server worker threads. |
internal_grpc.flight_compression |
String | arrow_ipc |
Compression mode for frontend side Arrow IPC service. Available options: - none: disable all compression- transport: only enable gRPC transport compression (zstd)- arrow_ipc: only enable Arrow IPC compression (lz4)- all: enable all compression.Default to none |
internal_grpc.tls |
-- | -- | internal gRPC server TLS options, see mysql.tls section. |
internal_grpc.tls.mode |
String | disable |
TLS mode. |
internal_grpc.tls.cert_path |
String | Unset | Certificate file path. |
internal_grpc.tls.key_path |
String | Unset | Private key file path. |
internal_grpc.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload. For now, gRPC tls config does not support auto reload. |
mysql |
-- | -- | MySQL server options. |
mysql.enable |
Bool | true |
Whether to enable. |
mysql.addr |
String | 127.0.0.1:4002 |
The addr to bind the MySQL server. |
mysql.runtime_size |
Integer | 2 |
The number of server worker threads. |
mysql.keep_alive |
String | 0s |
Server-side keep-alive time. Set to 0 (default) to disable. |
mysql.prepared_stmt_cache_size |
Integer | 10000 |
Maximum entries in the MySQL prepared statement cache; default is 10,000. |
mysql.tls |
-- | -- | -- |
mysql.tls.mode |
String | disable |
TLS mode, refer to https://www.postgresql.org/docs/current/libpq-ssl.html - disable (default value)- prefer- require- verify-ca- verify-full |
mysql.tls.cert_path |
String | Unset | Certificate file path. |
mysql.tls.key_path |
String | Unset | Private key file path. |
mysql.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload |
postgres |
-- | -- | PostgresSQL server options. |
postgres.enable |
Bool | true |
Whether to enable |
postgres.addr |
String | 127.0.0.1:4003 |
The addr to bind the PostgresSQL server. |
postgres.runtime_size |
Integer | 2 |
The number of server worker threads. |
postgres.keep_alive |
String | 0s |
Server-side keep-alive time. Set to 0 (default) to disable. |
postgres.tls |
-- | -- | PostgresSQL server TLS options, see mysql.tls section. |
postgres.tls.mode |
String | disable |
TLS mode. |
postgres.tls.cert_path |
String | Unset | Certificate file path. |
postgres.tls.key_path |
String | Unset | Private key file path. |
postgres.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload |
opentsdb |
-- | -- | OpenTSDB protocol options. |
opentsdb.enable |
Bool | true |
Whether to enable OpenTSDB put in HTTP API. |
influxdb |
-- | -- | InfluxDB protocol options. |
influxdb.enable |
Bool | true |
Whether to enable InfluxDB protocol in HTTP API. |
jaeger |
-- | -- | Jaeger protocol options. |
jaeger.enable |
Bool | true |
Whether to enable Jaeger protocol in HTTP API. |
prom_store |
-- | -- | Prometheus remote storage options |
prom_store.enable |
Bool | true |
Whether to enable Prometheus remote write and read in HTTP API. |
prom_store.with_metric_engine |
Bool | true |
Whether to store the data from Prometheus remote write in metric engine. |
meta_client |
-- | -- | The metasrv client options. |
meta_client.metasrv_addrs |
Array | -- | The addresses of the metasrv. |
meta_client.timeout |
String | 3s |
Operation timeout. |
meta_client.ddl_timeout |
String | 10s |
DDL timeout. |
meta_client.connect_timeout |
String | 1s |
Connect server timeout. |
meta_client.tcp_nodelay |
Bool | true |
TCP_NODELAY option for accepted connections. |
meta_client.metadata_cache_max_capacity |
Integer | 100000 |
The configuration about the cache of the metadata. |
meta_client.metadata_cache_ttl |
String | 10m |
TTL of the metadata cache. |
meta_client.metadata_cache_tti |
String | 5m |
-- |
query |
-- | -- | The query engine options. |
query.parallelism |
Integer | 0 |
Parallelism of the query engine. Default to 0, which means the number of CPU cores. |
query.allow_query_fallback |
Bool | false |
Whether to allow query fallback when push down optimize fails. Default to false, meaning when push down optimize failed, return error msg |
query.memory_pool_size |
String | 50% |
Memory pool size for query execution operators (aggregation, sorting, join). Supports absolute size (e.g., "4GB", "8GB") or percentage of system memory (e.g., "30%"). Setting it to 0 disables the limit (unbounded, default behavior). When this limit is reached, queries will fail with ResourceExhausted error. NOTE: This does NOT limit memory used by table scans (only applies to datanodes). |
datanode |
-- | -- | Datanode options. |
datanode.client |
-- | -- | Datanode client options. |
datanode.client.connect_timeout |
String | 10s |
-- |
datanode.client.tcp_nodelay |
Bool | true |
-- |
logging |
-- | -- | The logging options. |
logging.dir |
String | ./greptimedb_data/logs |
The directory to store the log files. If set to empty, logs will not be written to files. |
logging.level |
String | Unset | The log level. Can be info/debug/warn/error. |
logging.enable_otlp_tracing |
Bool | false |
Enable OTLP tracing. |
logging.otlp_endpoint |
String | http://localhost:4318/v1/traces |
The OTLP tracing endpoint. |
logging.append_stdout |
Bool | true |
Whether to append logs to stdout. |
logging.log_format |
String | text |
The log format. Can be text/json. |
logging.max_log_files |
Integer | 720 |
The maximum amount of log files. |
logging.otlp_export_protocol |
String | http |
The OTLP tracing export protocol. Can be grpc/http. |
logging.otlp_headers |
-- | -- | Additional OTLP headers, only valid when using OTLP http |
logging.tracing_sample_ratio |
-- | Unset | The percentage of tracing will be sampled and exported. Valid range [0, 1], 1 means all traces are sampled, 0 means all traces are not sampled, the default value is 1.ratio > 1 are treated as 1. Fractions < 0 are treated as 0 |
logging.tracing_sample_ratio.default_ratio |
Float | 1.0 |
-- |
slow_query |
-- | -- | The slow query log options. |
slow_query.enable |
Bool | true |
Whether to enable slow query log. |
slow_query.record_type |
String | system_table |
The record type of slow queries. It can be system_table or log.If system_table is selected, the slow queries will be recorded in a system table greptime_private.slow_queries.If log is selected, the slow queries will be logged in a log file greptimedb-slow-queries.*. |
slow_query.threshold |
String | 30s |
The threshold of slow query. It can be human readable time string, for example: 10s, 100ms, 1s. |
slow_query.sample_ratio |
Float | 1.0 |
The sampling ratio of slow query log. The value should be in the range of (0, 1]. For example, 0.1 means 10% of the slow queries will be logged and 1.0 means all slow queries will be logged. |
slow_query.ttl |
String | 90d |
The TTL of the slow_queries system table. Default is 90d when record_type is system_table. |
tracing |
-- | -- | The tracing options. Only effect when compiled with tokio-console feature. |
tracing.tokio_console_addr |
String | Unset | The tokio console address. |
memory |
-- | -- | The memory options. |
memory.enable_heap_profiling |
Bool | true |
Whether to enable heap profiling activation during startup. When enabled, heap profiling will be activated if the MALLOC_CONF environment variableis set to "prof:true,prof_active:false". The official image adds this env variable. Default is true. |
event_recorder |
-- | -- | Configuration options for the event recorder. |
event_recorder.ttl |
String | 90d |
TTL for the events table that will be used to store the events. Default is 90d. |
Metasrv
| Key | Type | Default | Descriptions |
|---|---|---|---|
data_home |
String | ./greptimedb_data |
The working home directory. |
store_addrs |
Array | -- | Store server address(es). The format depends on the selected backend. For etcd: a list of "host:port" endpoints. e.g. ["192.168.1.1:2379", "192.168.1.2:2379"] For PostgreSQL: a connection string in libpq format or URI. e.g. - "host=localhost port=5432 user=postgres password= dbname=postgres" - "postgresql://user:password@localhost:5432/mydb?connect_timeout=10" The detail see: https://docs.rs/tokio-postgres/latest/tokio_postgres/config/struct.Config.html For mysql store, the format is a MySQL connection URL. e.g. "mysql://user:password@localhost:3306/greptime_meta?ssl-mode=VERIFY_CA&ssl-ca=/path/to/ca.pem" |
store_key_prefix |
String | "" |
If it's not empty, the metasrv will store all data with this key prefix. |
backend |
String | etcd_store |
The datastore for meta server. Available values: - etcd_store (default value)- memory_store- postgres_store- mysql_store |
meta_table_name |
String | greptime_metakv |
Table name in RDS to store metadata. Effect when using a RDS kvbackend. Only used when backend is postgres_store. |
meta_schema_name |
String | greptime_schema |
Optional PostgreSQL schema for metadata table and election table name qualification. When PostgreSQL public schema is not writable (e.g., PostgreSQL 15+ with restricted public), set this to a writable schema. GreptimeDB will use meta_schema_name.meta_table_name.GreptimeDB will NOT create the schema automatically; please ensure it exists or the user has permission. Only used when backend is postgres_store. |
meta_election_lock_id |
Integer | 1 |
Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend Only used when backend is postgres_store. |
selector |
String | round_robin |
Datanode selector type. - round_robin (default value)- lease_based- load_basedFor details, please see "https://docs.greptime.com/developer-guide/metasrv/selector". |
use_memory_store |
Bool | false |
Store data in memory. |
enable_region_failover |
Bool | false |
Whether to enable region failover. This feature is only available on GreptimeDB running on cluster mode and - Using Remote WAL - Using shared storage (e.g., s3). |
region_failure_detector_initialization_delay |
String | 10m |
The delay before starting region failure detection. This delay helps prevent Metasrv from triggering unnecessary region failovers before all Datanodes are fully started. Especially useful when the cluster is not deployed with GreptimeDB Operator and maintenance mode is not enabled. |
allow_region_failover_on_local_wal |
Bool | false |
Whether to allow region failover on local WAL. This option is not recommended to be set to true, because it may lead to data loss during failover. |
node_max_idle_time |
String | 24hours |
Max allowed idle time before removing node info from metasrv memory. |
enable_telemetry |
Bool | true |
Whether to enable greptimedb telemetry. Enabled by default. |
runtime |
-- | -- | The runtime options. |
runtime.global_rt_size |
Integer | 8 |
The number of threads to execute the runtime for global read operations. |
runtime.compact_rt_size |
Integer | 4 |
The number of threads to execute the runtime for global write operations. |
backend_tls |
-- | -- | TLS configuration for kv store backend (applicable for etcd, PostgreSQL, and MySQL backends) When using etcd, PostgreSQL, or MySQL as metadata store, you can configure TLS here Note: if TLS is configured in both this section and the store_addrs connection string, thesettings here will override the TLS settings in store_addrs. |
backend_tls.mode |
String | prefer |
TLS mode, refer to https://www.postgresql.org/docs/current/libpq-ssl.html - "disable" - No TLS - "prefer" (default) - Try TLS, fallback to plain - "require" - Require TLS - "verify_ca" - Require TLS and verify CA - "verify_full" - Require TLS and verify hostname |
backend_tls.cert_path |
String | "" |
Path to client certificate file (for client authentication) Like "/path/to/client.crt" |
backend_tls.key_path |
String | "" |
Path to client private key file (for client authentication) Like "/path/to/client.key" |
backend_tls.ca_cert_path |
String | "" |
Path to CA certificate file (for server certificate verification) Required when using custom CAs or self-signed certificates Leave empty to use system root certificates only Like "/path/to/ca.crt" |
grpc |
-- | -- | The gRPC server options. |
grpc.bind_addr |
String | 127.0.0.1:3002 |
The address to bind the gRPC server. |
grpc.server_addr |
String | 127.0.0.1:3002 |
The communication server address for the frontend and datanode to connect to metasrv. If left empty or unset, the server will automatically use the IP address of the first network interface on the host, with the same port number as the one specified in bind_addr. |
grpc.runtime_size |
Integer | 8 |
The number of server worker threads. |
grpc.max_recv_message_size |
String | 512MB |
The maximum receive message size for gRPC server. |
grpc.max_send_message_size |
String | 512MB |
The maximum send message size for gRPC server. |
http |
-- | -- | The HTTP server options. |
http.addr |
String | 127.0.0.1:4000 |
The address to bind the HTTP server. |
http.timeout |
String | 0s |
HTTP request timeout. Set to 0 to disable timeout. |
http.body_limit |
String | 64MB |
HTTP request body limit. The following units are supported: B, KB, KiB, MB, MiB, GB, GiB, TB, TiB, PB, PiB.Set to 0 to disable limit. |
procedure |
-- | -- | Procedure storage options. |
procedure.max_retry_times |
Integer | 12 |
Procedure max retry time. |
procedure.retry_delay |
String | 500ms |
Initial retry delay of procedures, increases exponentially |
procedure.max_metadata_value_size |
String | 1500KiB |
Auto split large value GreptimeDB procedure uses etcd as the default metadata storage backend. The etcd the maximum size of any request is 1.5 MiB 1500KiB = 1536KiB (1.5MiB) - 36KiB (reserved size of key) Comments out the max_metadata_value_size, for don't split large value (no limit). |
procedure.max_running_procedures |
Integer | 128 |
Max running procedures. The maximum number of procedures that can be running at the same time. If the number of running procedures exceeds this limit, the procedure will be rejected. |
failure_detector |
-- | -- | -- |
failure_detector.threshold |
Float | 8.0 |
Maximum acceptable φ before the peer is treated as failed. Lower values react faster but yield more false positives. |
failure_detector.min_std_deviation |
String | 100ms |
The minimum standard deviation of the heartbeat intervals. So tiny variations don’t make φ explode. Prevents hypersensitivity when heartbeat intervals barely vary. |
failure_detector.acceptable_heartbeat_pause |
String | 10000ms |
The acceptable pause duration between heartbeats. Additional extra grace period to the learned mean interval before φ rises, absorbing temporary network hiccups or GC pauses. |
datanode |
-- | -- | Datanode options. |
datanode.client |
-- | -- | Datanode client options. |
datanode.client.timeout |
String | 10s |
Operation timeout. |
datanode.client.connect_timeout |
String | 10s |
Connect server timeout. |
datanode.client.tcp_nodelay |
Bool | true |
TCP_NODELAY option for accepted connections. |
wal |
-- | -- | -- |
wal.provider |
String | raft_engine |
-- |
wal.broker_endpoints |
Array | -- | The broker endpoints of the Kafka cluster. It's only used when the provider is kafka. |
wal.auto_create_topics |
Bool | true |
Automatically create topics for WAL. Set to true to automatically create topics for WAL.Otherwise, use topics named topic_name_prefix_[0..num_topics)It's only used when the provider is kafka. |
wal.auto_prune_interval |
String | 30m |
Interval of automatically WAL pruning. Set to 0s to disable automatically WAL pruning which delete unused remote WAL entries periodically.It's only used when the provider is kafka. |
wal.flush_trigger_size |
String | 512MB |
Estimated size threshold to trigger a flush when using Kafka remote WAL. Since multiple regions may share a Kafka topic, the estimated size is calculated as: (latest_entry_id - flushed_entry_id) * avg_record_size MetaSrv triggers a flush for a region when this estimated size exceeds flush_trigger_size.- latest_entry_id: The latest entry ID in the topic.- flushed_entry_id: The last flushed entry ID for the region.Set to "0" to let the system decide the flush trigger size. It's only used when the provider is kafka. |
wal.checkpoint_trigger_size |
String | 128MB |
Estimated size threshold to trigger a checkpoint when using Kafka remote WAL. The estimated size is calculated as: (latest_entry_id - last_checkpoint_entry_id) * avg_record_size MetaSrv triggers a checkpoint for a region when this estimated size exceeds checkpoint_trigger_size.Set to "0" to let the system decide the checkpoint trigger size. It's only used when the provider is kafka. |
wal.auto_prune_parallelism |
Integer | 10 |
Concurrent task limit for automatically WAL pruning. It's only used when the provider is kafka. |
wal.num_topics |
Integer | 64 |
Number of topics used for remote WAL. It's only used when the provider is kafka. |
wal.selector_type |
String | round_robin |
Topic selector type. Available selector types: - round_robin (default)It's only used when the provider is kafka. |
wal.topic_name_prefix |
String | greptimedb_wal_topic |
A Kafka topic is constructed by concatenating topic_name_prefix and topic_id.Only accepts strings that match the following regular expression pattern: [a-zA-Z_:-][a-zA-Z0-9_:-.@#]* i.g., greptimedb_wal_topic_0, greptimedb_wal_topic_1. It's only used when the provider is kafka. |
wal.replication_factor |
Integer | 1 |
Expected number of replicas of each partition. It's only used when the provider is kafka. |
wal.create_topic_timeout |
String | 30s |
The timeout for creating a Kafka topic. It's only used when the provider is kafka. |
event_recorder |
-- | -- | Configuration options for the event recorder. |
event_recorder.ttl |
String | 90d |
TTL for the events table that will be used to store the events. Default is 90d. |
stats_persistence |
-- | -- | Configuration options for the stats persistence. |
stats_persistence.ttl |
String | 0s |
TTL for the stats table that will be used to store the stats. Set to 0s to disable stats persistence.Default is 0s.If you want to enable stats persistence, set the TTL to a value greater than 0. It is recommended to set a small value, e.g., 3h. |
stats_persistence.interval |
String | 10m |
The interval to persist the stats. Default is 10m.The minimum value is 10m, if the value is less than 10m, it will be overridden to 10m. |
logging |
-- | -- | The logging options. |
logging.dir |
String | ./greptimedb_data/logs |
The directory to store the log files. If set to empty, logs will not be written to files. |
logging.level |
String | Unset | The log level. Can be info/debug/warn/error. |
logging.enable_otlp_tracing |
Bool | false |
Enable OTLP tracing. |
logging.otlp_endpoint |
String | http://localhost:4318/v1/traces |
The OTLP tracing endpoint. |
logging.append_stdout |
Bool | true |
Whether to append logs to stdout. |
logging.log_format |
String | text |
The log format. Can be text/json. |
logging.max_log_files |
Integer | 720 |
The maximum amount of log files. |
logging.otlp_export_protocol |
String | http |
The OTLP tracing export protocol. Can be grpc/http. |
logging.otlp_headers |
-- | -- | Additional OTLP headers, only valid when using OTLP http |
logging.tracing_sample_ratio |
-- | Unset | The percentage of tracing will be sampled and exported. Valid range [0, 1], 1 means all traces are sampled, 0 means all traces are not sampled, the default value is 1.ratio > 1 are treated as 1. Fractions < 0 are treated as 0 |
logging.tracing_sample_ratio.default_ratio |
Float | 1.0 |
-- |
tracing |
-- | -- | The tracing options. Only effect when compiled with tokio-console feature. |
tracing.tokio_console_addr |
String | Unset | The tokio console address. |
memory |
-- | -- | The memory options. |
memory.enable_heap_profiling |
Bool | true |
Whether to enable heap profiling activation during startup. When enabled, heap profiling will be activated if the MALLOC_CONF environment variableis set to "prof:true,prof_active:false". The official image adds this env variable. Default is true. |
Datanode
| Key | Type | Default | Descriptions |
|---|---|---|---|
node_id |
Integer | Unset | The datanode identifier and should be unique in the cluster. |
default_column_prefix |
String | Unset | The default column prefix for auto-created time index and value columns. |
require_lease_before_startup |
Bool | false |
Start services after regions have obtained leases. It will block the datanode start if it can't receive leases in the heartbeat from metasrv. |
init_regions_in_background |
Bool | false |
Initialize all regions in the background during the startup. By default, it provides services after all regions have been initialized. |
init_regions_parallelism |
Integer | 16 |
Parallelism of initializing regions. |
max_concurrent_queries |
Integer | 0 |
The maximum current queries allowed to be executed. Zero means unlimited. NOTE: This setting affects scan_memory_limit's privileged tier allocation. When set, 70% of queries get privileged memory access (full scan_memory_limit). The remaining 30% get standard tier access (70% of scan_memory_limit). |
enable_telemetry |
Bool | true |
Enable telemetry to collect anonymous usage data. Enabled by default. |
http |
-- | -- | The HTTP server options. |
http.addr |
String | 127.0.0.1:4000 |
The address to bind the HTTP server. |
http.timeout |
String | 0s |
HTTP request timeout. Set to 0 to disable timeout. |
http.body_limit |
String | 64MB |
HTTP request body limit. The following units are supported: B, KB, KiB, MB, MiB, GB, GiB, TB, TiB, PB, PiB.Set to 0 to disable limit. |
grpc |
-- | -- | The gRPC server options. |
grpc.bind_addr |
String | 127.0.0.1:3001 |
The address to bind the gRPC server. |
grpc.server_addr |
String | 127.0.0.1:3001 |
The address advertised to the metasrv, and used for connections from outside the host. If left empty or unset, the server will automatically use the IP address of the first network interface on the host, with the same port number as the one specified in grpc.bind_addr. |
grpc.runtime_size |
Integer | 8 |
The number of server worker threads. |
grpc.max_recv_message_size |
String | 512MB |
The maximum receive message size for gRPC server. |
grpc.max_send_message_size |
String | 512MB |
The maximum send message size for gRPC server. |
grpc.flight_compression |
String | arrow_ipc |
Compression mode for datanode side Arrow IPC service. Available options: - none: disable all compression- transport: only enable gRPC transport compression (zstd)- arrow_ipc: only enable Arrow IPC compression (lz4)- all: enable all compression.Default to none |
grpc.tls |
-- | -- | gRPC server TLS options, see mysql.tls section. |
grpc.tls.mode |
String | disable |
TLS mode. |
grpc.tls.cert_path |
String | Unset | Certificate file path. |
grpc.tls.key_path |
String | Unset | Private key file path. |
grpc.tls.watch |
Bool | false |
Watch for Certificate and key file change and auto reload. For now, gRPC tls config does not support auto reload. |
runtime |
-- | -- | The runtime options. |
runtime.global_rt_size |
Integer | 8 |
The number of threads to execute the runtime for global read operations. |
runtime.compact_rt_size |
Integer | 4 |
The number of threads to execute the runtime for global write operations. |
heartbeat |
-- | -- | The heartbeat options. |
heartbeat.interval |
String | 3s |
Interval for sending heartbeat messages to the metasrv. |
heartbeat.retry_interval |
String | 3s |
Interval for retrying to send heartbeat messages to the metasrv. |
meta_client |
-- | -- | The metasrv client options. |
meta_client.metasrv_addrs |
Array | -- | The addresses of the metasrv. |
meta_client.timeout |
String | 3s |
Operation timeout. |
meta_client.ddl_timeout |
String | 10s |
DDL timeout. |
meta_client.connect_timeout |
String | 1s |
Connect server timeout. |
meta_client.tcp_nodelay |
Bool | true |
TCP_NODELAY option for accepted connections. |
meta_client.metadata_cache_max_capacity |
Integer | 100000 |
The configuration about the cache of the metadata. |
meta_client.metadata_cache_ttl |
String | 10m |
TTL of the metadata cache. |
meta_client.metadata_cache_tti |
String | 5m |
-- |
wal |
-- | -- | The WAL options. |
wal.provider |
String | raft_engine |
The provider of the WAL. - raft_engine: the wal is stored in the local file system by raft-engine.- kafka: it's remote wal that data is stored in Kafka.- noop: it's a no-op WAL provider that does not store any WAL data.Notes: any unflushed data will be lost when the datanode is shutdown. |
wal.dir |
String | Unset | The directory to store the WAL files. It's only used when the provider is raft_engine. |
wal.file_size |
String | 128MB |
The size of the WAL segment file. It's only used when the provider is raft_engine. |
wal.purge_threshold |
String | 1GB |
The threshold of the WAL size to trigger a purge. It's only used when the provider is raft_engine. |
wal.purge_interval |
String | 1m |
The interval to trigger a purge. It's only used when the provider is raft_engine. |
wal.read_batch_size |
Integer | 128 |
The read batch size. It's only used when the provider is raft_engine. |
wal.sync_write |
Bool | false |
Whether to use sync write. It's only used when the provider is raft_engine. |
wal.enable_log_recycle |
Bool | true |
Whether to reuse logically truncated log files. It's only used when the provider is raft_engine. |
wal.prefill_log_files |
Bool | false |
Whether to pre-create log files on start up. It's only used when the provider is raft_engine. |
wal.sync_period |
String | 10s |
Duration for fsyncing log files. It's only used when the provider is raft_engine. |
wal.recovery_parallelism |
Integer | 2 |
Parallelism during WAL recovery. |
wal.broker_endpoints |
Array | -- | The Kafka broker endpoints. It's only used when the provider is kafka. |
wal.max_batch_bytes |
String | 1MB |
The max size of a single producer batch. Warning: Kafka has a default limit of 1MB per message in a topic. It's only used when the provider is kafka. |
wal.consumer_wait_timeout |
String | 100ms |
The consumer wait timeout. It's only used when the provider is kafka. |
wal.create_index |
Bool | true |
Whether to enable WAL index creation. It's only used when the provider is kafka. |
wal.dump_index_interval |
String | 60s |
The interval for dumping WAL indexes. It's only used when the provider is kafka. |
wal.overwrite_entry_start_id |
Bool | false |
Ignore missing entries during read WAL. It's only used when the provider is kafka.This option ensures that when Kafka messages are deleted, the system can still successfully replay memtable data without throwing an out-of-range error. However, enabling this option might lead to unexpected data loss, as the system will skip over missing entries instead of treating them as critical errors. |
query |
-- | -- | The query engine options. |
query.parallelism |
Integer | 0 |
Parallelism of the query engine. Default to 0, which means the number of CPU cores. |
query.memory_pool_size |
String | 50% |
Memory pool size for query execution operators (aggregation, sorting, join). Supports absolute size (e.g., "2GB", "4GB") or percentage of system memory (e.g., "20%"). Setting it to 0 disables the limit (unbounded, default behavior). When this limit is reached, queries will fail with ResourceExhausted error. NOTE: This does NOT limit memory used by table scans. |
storage |
-- | -- | The data storage options. |
storage.data_home |
String | ./greptimedb_data |
The working home directory. |
storage.type |
String | File |
The storage type used to store the data. - File: the data is stored in the local file system.- S3: the data is stored in the S3 object storage.- Gcs: the data is stored in the Google Cloud Storage.- Azblob: the data is stored in the Azure Blob Storage.- Oss: the data is stored in the Aliyun OSS. |
storage.cache_path |
String | Unset | Read cache configuration for object storage such as 'S3' etc, it's configured by default when using object storage. It is recommended to configure it when using object storage for better performance. A local file directory, defaults to {data_home}. An empty string means disabling. |
storage.enable_read_cache |
Bool | true |
Whether to enable read cache. If not set, the read cache will be enabled by default when using object storage. |
storage.cache_capacity |
String | Unset | The local file cache capacity in bytes. If your disk space is sufficient, it is recommended to set it larger. |
storage.bucket |
String | Unset | The S3 bucket name. It's only used when the storage type is S3, Oss and Gcs. |
storage.root |
String | Unset | The S3 data will be stored in the specified prefix, for example, s3://${bucket}/${root}.It's only used when the storage type is S3, Oss and Azblob. |
storage.access_key_id |
String | Unset | The access key id of the aws account. It's highly recommended to use AWS IAM roles instead of hardcoding the access key id and secret key. It's only used when the storage type is S3 and Oss. |
storage.secret_access_key |
String | Unset | The secret access key of the aws account. It's highly recommended to use AWS IAM roles instead of hardcoding the access key id and secret key. It's only used when the storage type is S3. |
storage.access_key_secret |
String | Unset | The secret access key of the aliyun account. It's only used when the storage type is Oss. |
storage.account_name |
String | Unset | The account key of the azure account. It's only used when the storage type is Azblob. |
storage.account_key |
String | Unset | The account key of the azure account. It's only used when the storage type is Azblob. |
storage.scope |
String | Unset | The scope of the google cloud storage. It's only used when the storage type is Gcs. |
storage.credential_path |
String | Unset | The credential path of the google cloud storage. It's only used when the storage type is Gcs. |
storage.credential |
String | Unset | The credential of the google cloud storage. It's only used when the storage type is Gcs. |
storage.container |
String | Unset | The container of the azure account. It's only used when the storage type is Azblob. |
storage.sas_token |
String | Unset | The sas token of the azure account. It's only used when the storage type is Azblob. |
storage.endpoint |
String | Unset | The endpoint of the S3 service. It's only used when the storage type is S3, Oss, Gcs and Azblob. |
storage.region |
String | Unset | The region of the S3 service. It's only used when the storage type is S3, Oss, Gcs and Azblob. |
storage.http_client |
-- | -- | The http client options to the storage. It's only used when the storage type is S3, Oss, Gcs and Azblob. |
storage.http_client.pool_max_idle_per_host |
Integer | 1024 |
The maximum idle connection per host allowed in the pool. |
storage.http_client.connect_timeout |
String | 30s |
The timeout for only the connect phase of a http client. |
storage.http_client.timeout |
String | 30s |
The total request timeout, applied from when the request starts connecting until the response body has finished. Also considered a total deadline. |
storage.http_client.pool_idle_timeout |
String | 90s |
The timeout for idle sockets being kept-alive. |
storage.http_client.skip_ssl_validation |
Bool | false |
To skip the ssl verification Security Notice: Setting skip_ssl_validation = true disables certificate verification, making connections vulnerable to man-in-the-middle attacks. Only use this in development or trusted private networks. |
[[region_engine]] |
-- | -- | The region engine options. You can configure multiple region engines. |
region_engine.mito |
-- | -- | The Mito engine options. |
region_engine.mito.num_workers |
Integer | 8 |
Number of region workers. |
region_engine.mito.worker_channel_size |
Integer | 128 |
Request channel size of each worker. |
region_engine.mito.worker_request_batch_size |
Integer | 64 |
Max batch size for a worker to handle requests. |
region_engine.mito.manifest_checkpoint_distance |
Integer | 10 |
Number of meta action updated to trigger a new checkpoint for the manifest. |
region_engine.mito.experimental_manifest_keep_removed_file_count |
Integer | 256 |
Number of removed files to keep in manifest's removed_files field before alsoremove them from removed_files. Mostly for debugging purpose.If set to 0, it will only use keep_removed_file_ttl to decide when to remove filesfrom removed_files field. |
region_engine.mito.experimental_manifest_keep_removed_file_ttl |
String | 1h |
How long to keep removed files in the removed_files field of manifestafter they are removed from manifest. files will only be removed from removed_files fieldif both keep_removed_file_count and keep_removed_file_ttl is reached. |
region_engine.mito.compress_manifest |
Bool | false |
Whether to compress manifest and checkpoint file by gzip (default false). |
region_engine.mito.max_background_flushes |
Integer | Auto | Max number of running background flush jobs (default: 1/2 of cpu cores). |
region_engine.mito.max_background_compactions |
Integer | Auto | Max number of running background compaction jobs (default: 1/4 of cpu cores). |
region_engine.mito.max_background_purges |
Integer | Auto | Max number of running background purge jobs (default: number of cpu cores). |
region_engine.mito.experimental_compaction_memory_limit |
String | 0 | Memory budget for compaction tasks. Setting it to 0 or "unlimited" disables the limit. |
region_engine.mito.experimental_compaction_on_exhausted |
String | wait | Behavior when compaction cannot acquire memory from the budget. Options: "wait" (default, 10s), "wait()", "fail" |
region_engine.mito.auto_flush_interval |
String | 1h |
Interval to auto flush a region if it has not flushed yet. |
region_engine.mito.global_write_buffer_size |
String | Auto | Global write buffer size for all regions. If not set, it's default to 1/8 of OS memory with a max limitation of 1GB. |
region_engine.mito.global_write_buffer_reject_size |
String | Auto | Global write buffer size threshold to reject write requests. If not set, it's default to 2 times of global_write_buffer_size |
region_engine.mito.sst_meta_cache_size |
String | Auto | Cache size for SST metadata. Setting it to 0 to disable the cache. If not set, it's default to 1/32 of OS memory with a max limitation of 128MB. |
region_engine.mito.vector_cache_size |
String | Auto | Cache size for vectors and arrow arrays. Setting it to 0 to disable the cache. If not set, it's default to 1/16 of OS memory with a max limitation of 512MB. |
region_engine.mito.page_cache_size |
String | Auto | Cache size for pages of SST row groups. Setting it to 0 to disable the cache. If not set, it's default to 1/8 of OS memory. |
region_engine.mito.selector_result_cache_size |
String | Auto | Cache size for time series selector (e.g. last_value()). Setting it to 0 to disable the cache.If not set, it's default to 1/16 of OS memory with a max limitation of 512MB. |
region_engine.mito.enable_write_cache |
Bool | false |
Whether to enable the write cache, it's enabled by default when using object storage. It is recommended to enable it when using object storage for better performance. |
region_engine.mito.write_cache_path |
String | "" |
File system path for write cache, defaults to {data_home}. |
region_engine.mito.write_cache_size |
String | 5GiB |
Capacity for write cache. If your disk space is sufficient, it is recommended to set it larger. |
region_engine.mito.write_cache_ttl |
String | Unset | TTL for write cache. |
region_engine.mito.preload_index_cache |
Bool | true |
Preload index (puffin) files into cache on region open (default: true). When enabled, index files are loaded into the write cache during region initialization, which can improve query performance at the cost of longer startup times. |
region_engine.mito.index_cache_percent |
Integer | 20 |
Percentage of write cache capacity allocated for index (puffin) files (default: 20). The remaining capacity is used for data (parquet) files. Must be between 0 and 100 (exclusive). For example, with a 5GiB write cache and 20% allocation, 1GiB is reserved for index files and 4GiB for data files. |
region_engine.mito.sst_write_buffer_size |
String | 8MB |
Buffer size for SST writing. |
region_engine.mito.parallel_scan_channel_size |
Integer | 32 |
Capacity of the channel to send data from parallel scan tasks to the main task. |
region_engine.mito.max_concurrent_scan_files |
Integer | 384 |
Maximum number of SST files to scan concurrently. |
region_engine.mito.allow_stale_entries |
Bool | false |
Whether to allow stale WAL entries read during replay. |
region_engine.mito.scan_memory_limit |
String | 50% |
Memory limit for table scans across all queries. Supports absolute size (e.g., "2GB") or percentage of system memory (e.g., "20%"). Setting it to 0 disables the limit. NOTE: Works with max_concurrent_queries for tiered memory allocation. - If max_concurrent_queries is set: 70% of queries get full access, 30% get 70% access. - If max_concurrent_queries is 0 (unlimited): first 20 queries get full access, rest get 70% access. |
region_engine.mito.min_compaction_interval |
String | 0m |
Minimum time interval between two compactions. To align with the old behavior, the default value is 0 (no restrictions). |
region_engine.mito.default_experimental_flat_format |
Bool | false |
Whether to enable experimental flat format as the default format. |
region_engine.mito.index |
-- | -- | The options for index in Mito engine. |
region_engine.mito.index.aux_path |
String | "" |
Auxiliary directory path for the index in filesystem, used to store intermediate files for creating the index and staging files for searching the index, defaults to {data_home}/index_intermediate.The default name for this directory is index_intermediate for backward compatibility.This path contains two subdirectories: - __intm: for storing intermediate files used during creating index.- staging: for storing staging files used during searching index. |
region_engine.mito.index.staging_size |
String | 2GB |
The max capacity of the staging directory. |
region_engine.mito.index.staging_ttl |
String | 7d |
The TTL of the staging directory. Defaults to 7 days. Setting it to "0s" to disable TTL. |
region_engine.mito.index.metadata_cache_size |
String | 64MiB |
Cache size for inverted index metadata. |
region_engine.mito.index.content_cache_size |
String | 128MiB |
Cache size for inverted index content. |
region_engine.mito.index.content_cache_page_size |
String | 64KiB |
Page size for inverted index content cache. |
region_engine.mito.index.result_cache_size |
String | 128MiB |
Cache size for index result. |
region_engine.mito.inverted_index |
-- | -- | The options for inverted index in Mito engine. |
region_engine.mito.inverted_index.create_on_flush |
String | auto |
Whether to create the index on flush. - auto: automatically (default)- disable: never |
region_engine.mito.inverted_index.create_on_compaction |
String | auto |
Whether to create the index on compaction. - auto: automatically (default)- disable: never |
region_engine.mito.inverted_index.apply_on_query |
String | auto |
Whether to apply the index on query - auto: automatically (default)- disable: never |
region_engine.mito.inverted_index.mem_threshold_on_create |
String | auto |
Memory threshold for performing an external sort during index creation. - auto: automatically determine the threshold based on the system memory size (default)- unlimited: no memory limit- [size] e.g. 64MB: fixed memory threshold |
region_engine.mito.inverted_index.intermediate_path |
String | "" |
Deprecated, use region_engine.mito.index.aux_path instead. |
region_engine.mito.fulltext_index |
-- | -- | The options for full-text index in Mito engine. |
region_engine.mito.fulltext_index.create_on_flush |
String | auto |
Whether to create the index on flush. - auto: automatically (default)- disable: never |
region_engine.mito.fulltext_index.create_on_compaction |
String | auto |
Whether to create the index on compaction. - auto: automatically (default)- disable: never |
region_engine.mito.fulltext_index.apply_on_query |
String | auto |
Whether to apply the index on query - auto: automatically (default)- disable: never |
region_engine.mito.fulltext_index.mem_threshold_on_create |
String | auto |
Memory threshold for index creation. - auto: automatically determine the threshold based on the system memory size (default)- unlimited: no memory limit- [size] e.g. 64MB: fixed memory threshold |
region_engine.mito.bloom_filter_index |
-- | -- | The options for bloom filter index in Mito engine. |
region_engine.mito.bloom_filter_index.create_on_flush |
String | auto |
Whether to create the index on flush. - auto: automatically (default)- disable: never |
region_engine.mito.bloom_filter_index.create_on_compaction |
String | auto |
Whether to create the index on compaction. - auto: automatically (default)- disable: never |
region_engine.mito.bloom_filter_index.apply_on_query |
String | auto |
Whether to apply the index on query - auto: automatically (default)- disable: never |
region_engine.mito.bloom_filter_index.mem_threshold_on_create |
String | auto |
Memory threshold for the index creation. - auto: automatically determine the threshold based on the system memory size (default)- unlimited: no memory limit- [size] e.g. 64MB: fixed memory threshold |
region_engine.mito.memtable |
-- | -- | -- |
region_engine.mito.memtable.type |
String | time_series |
Memtable type. - time_series: time-series memtable- partition_tree: partition tree memtable (experimental) |
region_engine.mito.memtable.index_max_keys_per_shard |
Integer | 8192 |
The max number of keys in one shard. Only available for partition_tree memtable. |
region_engine.mito.memtable.data_freeze_threshold |
Integer | 32768 |
The max rows of data inside the actively writing buffer in one shard. Only available for partition_tree memtable. |
region_engine.mito.memtable.fork_dictionary_bytes |
String | 1GiB |
Max dictionary bytes. Only available for partition_tree memtable. |
region_engine.file |
-- | -- | Enable the file engine. |
region_engine.metric |
-- | -- | Metric engine options. |
region_engine.metric.sparse_primary_key_encoding |
Bool | true |
Whether to use sparse primary key encoding. |
logging |
-- | -- | The logging options. |
logging.dir |
String | ./greptimedb_data/logs |
The directory to store the log files. If set to empty, logs will not be written to files. |
logging.level |
String | Unset | The log level. Can be info/debug/warn/error. |
logging.enable_otlp_tracing |
Bool | false |
Enable OTLP tracing. |
logging.otlp_endpoint |
String | http://localhost:4318/v1/traces |
The OTLP tracing endpoint. |
logging.append_stdout |
Bool | true |
Whether to append logs to stdout. |
logging.log_format |
String | text |
The log format. Can be text/json. |
logging.max_log_files |
Integer | 720 |
The maximum amount of log files. |
logging.otlp_export_protocol |
String | http |
The OTLP tracing export protocol. Can be grpc/http. |
logging.otlp_headers |
-- | -- | Additional OTLP headers, only valid when using OTLP http |
logging.tracing_sample_ratio |
-- | Unset | The percentage of tracing will be sampled and exported. Valid range [0, 1], 1 means all traces are sampled, 0 means all traces are not sampled, the default value is 1.ratio > 1 are treated as 1. Fractions < 0 are treated as 0 |
logging.tracing_sample_ratio.default_ratio |
Float | 1.0 |
-- |
tracing |
-- | -- | The tracing options. Only effect when compiled with tokio-console feature. |
tracing.tokio_console_addr |
String | Unset | The tokio console address. |
memory |
-- | -- | The memory options. |
memory.enable_heap_profiling |
Bool | true |
Whether to enable heap profiling activation during startup. When enabled, heap profiling will be activated if the MALLOC_CONF environment variableis set to "prof:true,prof_active:false". The official image adds this env variable. Default is true. |
Flownode
| Key | Type | Default | Descriptions |
|---|---|---|---|
node_id |
Integer | Unset | The flownode identifier and should be unique in the cluster. |
flow |
-- | -- | flow engine options. |
flow.num_workers |
Integer | 0 |
The number of flow worker in flownode. Not setting(or set to 0) this value will use the number of CPU cores divided by 2. |
flow.batching_mode |
-- | -- | -- |
flow.batching_mode.query_timeout |
String | 600s |
The default batching engine query timeout is 10 minutes. |
flow.batching_mode.slow_query_threshold |
String | 60s |
will output a warn log for any query that runs for more that this threshold |
flow.batching_mode.experimental_min_refresh_duration |
String | 5s |
The minimum duration between two queries execution by batching mode task |
flow.batching_mode.grpc_conn_timeout |
String | 5s |
The gRPC connection timeout |
flow.batching_mode.experimental_grpc_max_retries |
Integer | 3 |
The gRPC max retry number |
flow.batching_mode.experimental_frontend_scan_timeout |
String | 30s |
Flow wait for available frontend timeout, if failed to find available frontend after frontend_scan_timeout elapsed, return error which prevent flownode from starting |
flow.batching_mode.experimental_frontend_activity_timeout |
String | 60s |
Frontend activity timeout if frontend is down(not sending heartbeat) for more than frontend_activity_timeout, it will be removed from the list that flownode use to connect |
flow.batching_mode.experimental_max_filter_num_per_query |
Integer | 20 |
Maximum number of filters allowed in a single query |
flow.batching_mode.experimental_time_window_merge_threshold |
Integer | 3 |
Time window merge distance |
flow.batching_mode.read_preference |
String | Leader |
Read preference of the Frontend client. |
flow.batching_mode.frontend_tls |
-- | -- | -- |
flow.batching_mode.frontend_tls.enabled |
Bool | false |
Whether to enable TLS for client. |
flow.batching_mode.frontend_tls.server_ca_cert_path |
String | Unset | Server Certificate file path. |
flow.batching_mode.frontend_tls.client_cert_path |
String | Unset | Client Certificate file path. |
flow.batching_mode.frontend_tls.client_key_path |
String | Unset | Client Private key file path. |
grpc |
-- | -- | The gRPC server options. |
grpc.bind_addr |
String | 127.0.0.1:6800 |
The address to bind the gRPC server. |
grpc.server_addr |
String | 127.0.0.1:6800 |
The address advertised to the metasrv, and used for connections from outside the host |
grpc.runtime_size |
Integer | 2 |
The number of server worker threads. |
grpc.max_recv_message_size |
String | 512MB |
The maximum receive message size for gRPC server. |
grpc.max_send_message_size |
String | 512MB |
The maximum send message size for gRPC server. |
http |
-- | -- | The HTTP server options. |
http.addr |
String | 127.0.0.1:4000 |
The address to bind the HTTP server. |
http.timeout |
String | 0s |
HTTP request timeout. Set to 0 to disable timeout. |
http.body_limit |
String | 64MB |
HTTP request body limit. The following units are supported: B, KB, KiB, MB, MiB, GB, GiB, TB, TiB, PB, PiB.Set to 0 to disable limit. |
meta_client |
-- | -- | The metasrv client options. |
meta_client.metasrv_addrs |
Array | -- | The addresses of the metasrv. |
meta_client.timeout |
String | 3s |
Operation timeout. |
meta_client.ddl_timeout |
String | 10s |
DDL timeout. |
meta_client.connect_timeout |
String | 1s |
Connect server timeout. |
meta_client.tcp_nodelay |
Bool | true |
TCP_NODELAY option for accepted connections. |
meta_client.metadata_cache_max_capacity |
Integer | 100000 |
The configuration about the cache of the metadata. |
meta_client.metadata_cache_ttl |
String | 10m |
TTL of the metadata cache. |
meta_client.metadata_cache_tti |
String | 5m |
-- |
heartbeat |
-- | -- | The heartbeat options. |
heartbeat.interval |
String | 3s |
Interval for sending heartbeat messages to the metasrv. |
heartbeat.retry_interval |
String | 3s |
Interval for retrying to send heartbeat messages to the metasrv. |
logging |
-- | -- | The logging options. |
logging.dir |
String | ./greptimedb_data/logs |
The directory to store the log files. If set to empty, logs will not be written to files. |
logging.level |
String | Unset | The log level. Can be info/debug/warn/error. |
logging.enable_otlp_tracing |
Bool | false |
Enable OTLP tracing. |
logging.otlp_endpoint |
String | http://localhost:4318/v1/traces |
The OTLP tracing endpoint. |
logging.append_stdout |
Bool | true |
Whether to append logs to stdout. |
logging.log_format |
String | text |
The log format. Can be text/json. |
logging.max_log_files |
Integer | 720 |
The maximum amount of log files. |
logging.otlp_export_protocol |
String | http |
The OTLP tracing export protocol. Can be grpc/http. |
logging.otlp_headers |
-- | -- | Additional OTLP headers, only valid when using OTLP http |
logging.tracing_sample_ratio |
-- | Unset | The percentage of tracing will be sampled and exported. Valid range [0, 1], 1 means all traces are sampled, 0 means all traces are not sampled, the default value is 1.ratio > 1 are treated as 1. Fractions < 0 are treated as 0 |
logging.tracing_sample_ratio.default_ratio |
Float | 1.0 |
-- |
tracing |
-- | -- | The tracing options. Only effect when compiled with tokio-console feature. |
tracing.tokio_console_addr |
String | Unset | The tokio console address. |
query |
-- | -- | -- |
query.parallelism |
Integer | 1 |
Parallelism of the query engine for query sent by flownode. Default to 1, so it won't use too much cpu or memory |
query.memory_pool_size |
String | 50% |
Memory pool size for query execution operators (aggregation, sorting, join). Supports absolute size (e.g., "1GB", "2GB") or percentage of system memory (e.g., "20%"). Setting it to 0 disables the limit (unbounded, default behavior). When this limit is reached, queries will fail with ResourceExhausted error. NOTE: This does NOT limit memory used by table scans. |
memory |
-- | -- | The memory options. |
memory.enable_heap_profiling |
Bool | true |
Whether to enable heap profiling activation during startup. When enabled, heap profiling will be activated if the MALLOC_CONF environment variableis set to "prof:true,prof_active:false". The official image adds this env variable. Default is true. |