文档文档

InfluxDB 3 Core 配置选项

InfluxDB 3 Core 处于公开 Alpha 阶段

InfluxDB 3 Core 处于公开 alpha 阶段,可用于测试和反馈,但不适用于生产环境。产品和本文档均在开发中。我们欢迎并鼓励您提供关于 alpha 体验的输入,并邀请您加入我们的公共频道以获取更新和分享反馈。

Alpha 预期和建议

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

配置您的服务器

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

influxdb3 serve 命令选项示例
influxdb3 serve \
  --object-store file \
  --data-dir ~/.influxdb3 \
  --node-id my-host \
  --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

服务器配置选项


通用

对象存储

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

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

数据目录

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

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

节点 ID

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

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

查询文件限制

限制查询可以访问的 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 存储桶读取和写入权限的访问密钥。

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 作为对象存储时,如果与回退值不同,则将其设置为与指定存储桶关联的区域。

默认值: 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 云服务

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

对象存储

存储桶

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

influxdb3 serve 选项环境变量
--bucketINFLUXDB3_BUCKET

对象存储连接限制

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

默认值: 16

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

对象存储仅限 HTTP/2

强制对基于网络的对象存储使用 HTTP/2 连接。

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

对象存储 HTTP/2 最大帧大小

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

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

对象存储最大重试次数

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

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

对象存储重试超时

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

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

对象存储缓存端点

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

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

日志

日志过滤器

设置日志的过滤器指令。

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

日志目标

指定日志的目标位置。

默认值: stdout

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

日志格式

定义日志的消息格式。

此选项支持以下值

  • full (默认)

默认值: full

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

查询日志大小

定义查询日志的大小。在此数量的查询之前,日志中会保留最多此数量的查询,然后较旧的查询将被清除,为新查询腾出空间。

默认值: 1000

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

追踪

追踪导出器

设置追踪导出器的类型。

默认值: 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

最大 HTTP 请求大小

指定 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。这些文件被称为“第 1 代”文件,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 缓存上的 prune 操作期间要 prune 的条目百分比。

默认值: 0.1

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

parquet-mem-cache-prune-interval

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

默认值: 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

处理引擎

插件目录

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

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

虚拟环境位置

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

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

包管理器

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

默认值: 10s

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

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何入门的更多信息,请查看