Documentation

InfluxDB 3 Core 配置选项

InfluxDB 3 Core 允许您通过使用 influxdb3 serve 命令选项或设置环境变量来自定义服务器配置。

配置您的服务器

使用命令选项或环境变量将配置选项传递给 influxdb serve 服务器。命令选项优先于环境变量。

influxdb3 serve 命令选项示例
influxdb3 serve \
  --object-store file \
  --data-dir ~/.influxdb3 \
  --node-id NODE_ID \
  --log-filter info \
  --max-http-request-size 20971520 \
  --aws-allow-http
环境变量示例
export INFLUXDB3_OBJECT_STORE=file
export INFLUXDB3_DB_DIR=~/.influxdb3
export INFLUXDB3_WRITER_IDENTIFIER_PREFIX=my-host
export LOG_FILTER=info
export INFLUXDB3_MAX_HTTP_REQUEST_SIZE=20971520
export AWS_ALLOW_HTTP=true

influxdb3 serve

服务器配置选项


通用

object-store

指定用于存储 Parquet 文件的对象存储。此选项支持以下值

  • memory (默认)
  • memory-throttled
  • file
  • s3
  • google
  • azure
influxdb3 serve 选项环境变量
--object-storeINFLUXDB3_OBJECT_STORE

data-dir

定义 InfluxDB 3 Core 用于在本地存储文件的位置。

influxdb3 serve 选项环境变量
--data-dirINFLUXDB3_DB_DIR

node-id

指定用作所有对象存储文件路径前缀的节点标识符。对于共享相同对象存储配置(例如,同一个 bucket)的任何主机,此标识符应是唯一的。

influxdb3 serve 选项环境变量
--node-idINFLUXDB3_NODE_IDENTIFIER_PREFIX

query-file-limit

限制查询可以访问的 Parquet 文件数量。

默认值: 432

使用默认的 432 设置和默认的 gen1-duration 设置(10 分钟),查询可以访问长达 72 小时的数据,但可能会更少,具体取决于在同一时期内是否摄取了给定 10 分钟时间块的所有数据。

您可以增加此限制以允许查询更多文件,但请注意以下副作用

  • 读取更多 Parquet 文件的查询性能下降
  • 内存使用量增加
  • 您的系统可能由于内存不足 (OOM) 错误而终止 influxdb3 进程
  • 如果使用对象存储来存储数据,则需要进行多次 GET 请求以访问数据(每个文件最多 2 次)

我们建议保持默认设置并查询较小的时间范围。如果您需要查询更长的时间范围或在访问一小时或更长时间数据的任何查询上获得更快的查询性能,InfluxDB 3 Enterprise 通过压缩和重新排列 Parquet 文件来优化数据存储,以实现更快的查询性能。

influxdb3 serve 选项环境变量
--query-file-limitINFLUXDB3_QUERY_FILE_LIMIT

AWS

aws-access-key-id

当使用 Amazon S3 作为对象存储时,请将其设置为具有从指定的 S3 bucket 读取和写入权限的访问密钥。

influxdb3 serve 选项环境变量
--aws-access-key-idAWS_ACCESS_KEY_ID

aws-secret-access-key

当使用 Amazon S3 作为对象存储时,请将其设置为与指定的访问密钥 ID 对应的密钥。

influxdb3 serve 选项环境变量
--aws-secret-access-keyAWS_SECRET_ACCESS_KEY

aws-default-region

当使用 Amazon S3 作为对象存储时,如果区域与回退值不同,请将其设置为与指定的 bucket 对应的区域。

默认值: us-east-1

influxdb3 serve 选项环境变量
--aws-default-regionAWS_DEFAULT_REGION

aws-endpoint

当使用 Amazon S3 兼容性存储服务时,请将其设置为端点。

influxdb3 serve 选项环境变量
--aws-endpointAWS_ENDPOINT

aws-session-token

当使用 Amazon S3 作为对象存储时,请将其设置为会话令牌。当使用联合登录或 SSO 并通过 UI 获取凭据时,这非常方便。

influxdb3 serve 选项环境变量
--aws-session-tokenAWS_SESSION_TOKEN

aws-allow-http

允许与 AWS 建立未加密的 HTTP 连接。

influxdb3 serve 选项环境变量
--aws-allow-httpAWS_ALLOW_HTTP

aws-skip-signature

如果启用,S3 对象存储将不会获取凭据,也不会对请求进行签名。

influxdb3 serve 选项环境变量
--aws-skip-signatureAWS_SKIP_SIGNATURE

Google Cloud Service

google-service-account

当使用 Google Cloud Storage 作为对象存储时,请将其设置为包含 Google 凭据的 JSON 文件的路径。

influxdb3 serve 选项环境变量
--google-service-accountGOOGLE_SERVICE_ACCOUNT

Microsoft Azure

azure-storage-account

当使用 Microsoft Azure 作为对象存储时,请将其设置为导航到 所有服务 > 存储帐户 > [名称] 时看到的名称。

influxdb3 serve 选项环境变量
--azure-storage-accountAZURE_STORAGE_ACCOUNT

azure-storage-access-key

当使用 Microsoft Azure 作为对象存储时,请将其设置为存储帐户的 设置 > 访问密钥 中的密钥值之一。

influxdb3 serve 选项环境变量
--azure-storage-access-keyAZURE_STORAGE_ACCESS_KEY

对象存储

bucket

设置要使用的对象存储 bucket 的名称。还必须将 --object-store 设置为云对象存储,此选项才能生效。

influxdb3 serve 选项环境变量
--bucketINFLUXDB3_BUCKET

object-store-connection-limit

当使用基于网络的对象存储时,将连接数限制为此值。

默认值: 16

influxdb3 serve 选项环境变量
--object-store-connection-limitOBJECT_STORE_CONNECTION_LIMIT

object-store-http2-only

强制与基于网络的对象存储建立 HTTP/2 连接。

influxdb3 serve 选项环境变量
--object-store-http2-onlyOBJECT_STORE_HTTP2_ONLY

object-store-http2-max-frame-size

设置 HTTP/2 连接的最大帧大小(以字节/八位字节为单位)。

influxdb3 serve 选项环境变量
--object-store-http2-max-frame-sizeOBJECT_STORE_HTTP2_MAX_FRAME_SIZE

object-store-max-retries

定义重试请求的最大次数。

influxdb3 serve 选项环境变量
--object-store-max-retriesOBJECT_STORE_MAX_RETRIES

object-store-retry-timeout

指定从初始请求开始的最大时长,超过此时长后将不再尝试重试。

influxdb3 serve 选项环境变量
--object-store-retry-timeoutOBJECT_STORE_RETRY_TIMEOUT

object-store-cache-endpoint

设置与 S3 兼容的、启用 HTTP/2 的对象存储缓存的端点。

influxdb3 serve 选项环境变量
--object-store-cache-endpointOBJECT_STORE_CACHE_ENDPOINT

日志

log-filter

设置日志的过滤器指令。

influxdb3 serve 选项环境变量
--log-filterLOG_FILTER

log-destination

指定日志的目标位置。

默认值: stdout

influxdb3 serve 选项环境变量
--log-destinationLOG_DESTINATION

log-format

定义日志的消息格式。

此选项支持以下值

  • full (默认)

默认值: full

influxdb3 serve 选项环境变量
--log-formatLOG_FORMAT

query-log-size

定义查询日志的大小。最多有这么多查询保留在日志中,然后较旧的查询将被清除,为新查询腾出空间。

默认值: 1000

influxdb3 serve 选项环境变量
--query-log-sizeINFLUXDB3_QUERY_LOG_SIZE

追踪

traces-exporter

设置追踪导出器的类型。

默认值: none

influxdb3 serve 选项环境变量
--traces-exporterTRACES_EXPORTER

traces-exporter-jaeger-agent-host

指定 Jaeger 代理的网络主机名以进行追踪。

默认值: 0.0.0.0

influxdb3 serve 选项环境变量
--traces-exporter-jaeger-agent-hostTRACES_EXPORTER_JAEGER_AGENT_HOST

traces-exporter-jaeger-agent-port

定义 Jaeger 代理的网络端口以进行追踪。

默认值: 6831

influxdb3 serve 选项环境变量
--traces-exporter-jaeger-agent-portTRACES_EXPORTER_JAEGER_AGENT_PORT

traces-exporter-jaeger-service-name

设置 Jaeger 服务名称以进行追踪。

默认值: iox-conductor

influxdb3 serve 选项环境变量
--traces-exporter-jaeger-service-nameTRACES_EXPORTER_JAEGER_SERVICE_NAME

traces-exporter-jaeger-trace-context-header-name

指定用于传递追踪上下文的标头名称。

默认值: uber-trace-id

influxdb3 serve 选项环境变量
--traces-exporter-jaeger-trace-context-header-nameTRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME

traces-jaeger-debug-name

指定用于强制采样的标头名称。

默认值: jaeger-debug-id

influxdb3 serve 选项环境变量
--traces-jaeger-debug-nameTRACES_EXPORTER_JAEGER_DEBUG_NAME

traces-jaeger-tags

定义一组 key=value 对,用于注释追踪 span。

influxdb3 serve 选项环境变量
--traces-jaeger-tagsTRACES_EXPORTER_JAEGER_TAGS

traces-jaeger-max-msgs-per-second

指定每秒发送到 Jaeger 服务消息的最大数量。

默认值: 1000

influxdb3 serve 选项环境变量
--traces-jaeger-max-msgs-per-secondTRACES_JAEGER_MAX_MSGS_PER_SECOND

DataFusion

datafusion-num-threads

设置要使用的 DataFusion 运行时线程的最大数量。

influxdb3 serve 选项环境变量
--datafusion-num-threadsINFLUXDB3_DATAFUSION_NUM_THREADS

datafusion-runtime-type

指定 DataFusion tokio 运行时类型。

此选项支持以下值

  • current-thread
  • multi-thread (默认)
  • multi-thread-alt

默认值: multi-thread

influxdb3 serve 选项环境变量
--datafusion-runtime-typeINFLUXDB3_DATAFUSION_RUNTIME_TYPE

datafusion-runtime-disable-lifo-slot

禁用 DataFusion 运行时的 LIFO 插槽。

此选项支持以下值

  • true
  • false
influxdb3 serve 选项环境变量
--datafusion-runtime-disable-lifo-slotINFLUXDB3_DATAFUSION_RUNTIME_DISABLE_LIFO_SLOT

datafusion-runtime-event-interval

设置 DataFusion tokio 运行时的调度程序轮询外部事件(例如:定时器、I/O)的调度程序刻度数。

influxdb3 serve 选项环境变量
--datafusion-runtime-event-intervalINFLUXDB3_DATAFUSION_RUNTIME_EVENT_INTERVAL

datafusion-runtime-global-queue-interval

设置 DataFusion 运行时的调度程序轮询全局任务队列的调度程序刻度数。

influxdb3 serve 选项环境变量
--datafusion-runtime-global-queue-intervalINFLUXDB3_DATAFUSION_RUNTIME_GLOBAL_QUEUE_INTERVAL

datafusion-runtime-max-blocking-threads

指定 DataFusion 运行时生成的其他线程的限制。

influxdb3 serve 选项环境变量
--datafusion-runtime-max-blocking-threadsINFLUXDB3_DATAFUSION_RUNTIME_MAX_BLOCKING_THREADS

datafusion-runtime-max-io-events-per-tick

配置 tokio DataFusion 运行时每个刻度处理的最大事件数。

influxdb3 serve 选项环境变量
--datafusion-runtime-max-io-events-per-tickINFLUXDB3_DATAFUSION_RUNTIME_MAX_IO_EVENTS_PER_TICK

datafusion-runtime-thread-keep-alive

为 tokio DataFusion 运行时的阻塞池中的线程设置自定义超时。

influxdb3 serve 选项环境变量
--datafusion-runtime-thread-keep-aliveINFLUXDB3_DATAFUSION_RUNTIME_THREAD_KEEP_ALIVE

datafusion-runtime-thread-priority

为 tokio DataFusion 运行时工作线程设置线程优先级。

默认值: 10

influxdb3 serve 选项环境变量
--datafusion-runtime-thread-priorityINFLUXDB3_DATAFUSION_RUNTIME_THREAD_PRIORITY

datafusion-max-parquet-fanout

当需要以排序方式排列多个 parquet 文件时(例如,去重),指定最大扇出。

默认值: 1000

influxdb3 serve 选项环境变量
--datafusion-max-parquet-fanoutINFLUXDB3_DATAFUSION_MAX_PARQUET_FANOUT

datafusion-use-cached-parquet-loader

从对象存储读取 parquet 文件时,使用缓存的 parquet 加载器。

influxdb3 serve 选项环境变量
--datafusion-use-cached-parquet-loaderINFLUXDB3_DATAFUSION_USE_CACHED_PARQUET_LOADER

datafusion-config

以逗号分隔的 key:value 对列表形式为 DataFusion 提供自定义配置。

influxdb3 serve 选项环境变量
--datafusion-configINFLUXDB3_DATAFUSION_CONFIG

HTTP

max-http-request-size

指定 HTTP 请求的最大大小。

默认值: 10485760

influxdb3 serve 选项环境变量
--max-http-request-sizeINFLUXDB3_MAX_HTTP_REQUEST_SIZE

http-bind

定义 InfluxDB 提供 HTTP API 请求的地址。

默认值: 0.0.0.0:8181

influxdb3 serve 选项环境变量
--http-bindINFLUXDB3_HTTP_BIND_ADDR

bearer-token

指定要为请求设置的 bearer token。

influxdb3 serve 选项环境变量
--bearer-tokenINFLUXDB3_BEARER_TOKEN

内存

ram-pool-data-bytes

指定用于存储数据的 RAM 缓存的大小(以字节为单位)。

默认值: 1073741824

influxdb3 serve 选项环境变量
--ram-pool-data-bytesINFLUXDB3_RAM_POOL_DATA_BYTES

exec-mem-pool-bytes

指定查询执行期间使用的内存池的大小(以字节为单位)。

默认值: 8589934592

influxdb3 serve 选项环境变量
--exec-mem-pool-bytesINFLUXDB3_EXEC_MEM_POOL_BYTES

buffer-mem-limit-mb

指定缓冲数据的大小限制(MB)。如果超过此限制,服务器将强制执行快照。

默认值: 5000

influxdb3 serve 选项环境变量
--buffer-mem-limit-mbINFLUXDB3_BUFFER_MEM_LIMIT_MB

force-snapshot-mem-threshold

指定内部内存缓冲区的阈值。支持百分比(可用内存的一部分)或绝对值(总字节数)——例如:70%100000

默认值: 70%

influxdb3 serve 选项环境变量
--force-snapshot-mem-thresholdINFLUXDB3_FORCE_SNAPSHOT_MEM_THRESHOLD

预写式日志 (WAL)

wal-flush-interval

指定将缓冲数据刷新到 WAL 文件的时间间隔。等待 WAL 确认的写入最多需要此时间间隔才能完成。

默认值: 1s

influxdb3 serve 选项环境变量
--wal-flush-intervalINFLUXDB3_WAL_FLUSH_INTERVAL

wal-snapshot-size

定义快照中尝试删除的 WAL 文件数。这乘以时间间隔,决定了快照的频率。

默认值: 600

influxdb3 serve 选项环境变量
--wal-snapshot-sizeINFLUXDB3_WAL_SNAPSHOT_SIZE

wal-max-write-buffer-size

指定在必须执行刷新并成功之前可以缓冲的最大写入请求数。

默认值: 100000

influxdb3 serve 选项环境变量
--wal-max-write-buffer-sizeINFLUXDB3_WAL_MAX_WRITE_BUFFER_SIZE

snapshotted-wal-files-to-keep

指定要在对象存储中保留的快照 WAL 文件数。刷新 WAL 文件不会立即清除 WAL 文件;当快照 WAL 文件的数量超过此数量时,它们将被删除。

默认值: 300

influxdb3 serve 选项环境变量
--snapshotted-wal-files-to-keepINFLUXDB3_NUM_WAL_FILES_TO_KEEP

压缩

gen1-duration

指定 Parquet 文件排列的时间段。数据时间戳将每行数据放入此时间段的文件中。支持的时间段为 1m5m10m。这些文件被称为“第一代”文件,InfluxDB 3 Enterprise 中的压缩器可以将它们合并为更大的代。

默认值: 10m

influxdb3 serve 选项环境变量
--gen1-durationINFLUXDB3_GEN1_DURATION

缓存

preemptive-cache-age

指定在压缩期间预取到 Parquet 缓存的时间间隔。

默认值: 3d

influxdb3 serve 选项环境变量
--preemptive-cache-ageINFLUXDB3_PREEMPTIVE_CACHE_AGE

parquet-mem-cache-size-mb

定义内存中 Parquet 缓存的大小(以兆字节 (MB) 为单位)。

默认值: 1000

influxdb3 serve 选项环境变量
--parquet-mem-cache-size-mbINFLUXDB3_PARQUET_MEM_CACHE_SIZE_MB

parquet-mem-cache-prune-percentage

指定在内存中 Parquet 缓存上进行修剪操作期间要修剪的条目百分比。

默认值: 0.1

influxdb3 serve 选项环境变量
--parquet-mem-cache-prune-percentageINFLUXDB3_PARQUET_MEM_CACHE_PRUNE_PERCENTAGE

parquet-mem-cache-prune-interval

设置检查内存中 Parquet 缓存是否需要修剪的时间间隔。

默认值: 1s

influxdb3 serve 选项环境变量
--parquet-mem-cache-prune-intervalINFLUXDB3_PARQUET_MEM_CACHE_PRUNE_INTERVAL

disable-parquet-mem-cache

禁用内存中 Parquet 缓存。默认情况下,缓存已启用。

influxdb3 serve 选项环境变量
--disable-parquet-mem-cacheINFLUXDB3_DISABLE_PARQUET_MEM_CACHE

last-cache-eviction-interval

指定从 Last-N-Value 缓存中逐出过期条目的时间间隔,以人类可读的时间表示——例如:20s1m1h

默认值: 10s

influxdb3 serve 选项环境变量
--last-cache-eviction-intervalINFLUXDB3_LAST_CACHE_EVICTION_INTERVAL

distinct-cache-eviction-interval

指定从 distinct value 缓存中逐出过期条目的时间间隔,以人类可读的时间表示——例如:20s1m1h

默认值: 10s

influxdb3 serve 选项环境变量
--distinct-cache-eviction-intervalINFLUXDB3_DISTINCT_CACHE_EVICTION_INTERVAL

处理引擎

plugin-dir

指定包含 Python 插件及其测试文件的本地目录。

influxdb3 serve 选项环境变量
--plugin-dirINFLUXDB3_PLUGIN_DIR

virtual-env-location

指定处理引擎使用的 Python 虚拟环境的位置。

influxdb3 serve 选项环境变量
--virtual-env-locationVIRTUAL_ENV_LOCATION

package-manager

指定处理引擎使用的 Python 包管理器。

默认值: 10s

influxdb3 serve 选项环境变量
--package-managerPACKAGE_MANAGER

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对您的代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、最新的数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看