InfluxDB 3 核心配置选项
InfluxDB 3核心正在进行公开测试
InfluxDB 3 Core 正在进行公开 alpha 测试,并可供测试和反馈,但不适合用于生产环境。产品和本文件都是进行中的工作。我们欢迎并鼓励您分享您对 alpha 版本的体验,并邀请您加入我们的公共频道以获取更新和分享反馈。
InfluxDB 3 Core 通过使用 influxdb3 serve 命令选项或设置环境变量,让您自定义服务器配置。
配置您的服务器
通过命令选项或环境变量将配置选项传递给 influxdb serve 服务器。命令选项优先于环境变量。
示例 influxdb3 服务命令选项
influxdb3 serve \
--object-store file \
--data-dir ~/.influxdb3 \
--writer-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
服务器配置选项
- 通用
- AWS
- 谷歌云服务
- 微软Azure
- 对象存储
- 日志
- 追踪
- 数据融合
- datafusion-num-threads
- datafusion-runtime-type
- datafusion-runtime-disable-lifo-slot
- datafusion-runtime-event-interval
- datafusion-runtime-global-queue-interval
- datafusion-runtime-max-blocking-threads
- datafusion-runtime-max-io-events-per-tick
- datafusion-runtime-thread-keep-alive
- datafusion-runtime-thread-priority
- datafusion-max-parquet-fanout
- datafusion-use-cached-parquet-loader
- datafusion-config
- HTTP
- 内存
- 预写日志 (WAL)
- 压实
- 缓存
- 插件
通用
对象存储
指定使用哪个对象存储来存储 Parquet 文件。此选项支持以下值:
memory(默认)memory-throttledfiles3googleazure
| influxdb3 服务器选项 | 环境变量 |
|---|---|
--object-store | INFLUXDB3_OBJECT_STORE |
数据目录
定义了 InfluxDB 3 Core 用于本地存储文件的位置。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--data-dir | INFLUXDB3_DB_DIR |
写作者ID
指定用于所有对象存储文件路径前缀的写入者标识符。 这对于共享相同对象存储配置的任何主机而言应该是唯一的 - 例如,相同的存储桶。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--writer-id | INFLUXDB3_WRITER_IDENTIFIER_PREFIX |
AWS
- aws-access-key-id
- aws-secret-access-key
- aws-default-region
- aws-endpoint
- aws-session-token
- aws-allow-http
- aws-skip-signature
aws-访问密钥-id
使用 Amazon S3 作为对象存储时,将此设置为具有读取和写入指定 S3 存储桶权限的访问密钥。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--aws-access-key-id | AWS_ACCESS_KEY_ID |
aws-secret-access-key
当使用 Amazon S3 作为对象存储时,将此设置为与指定访问密钥 ID 关联的秘密访问密钥。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--aws-secret-access-key | AWS_SECRET_ACCESS_KEY |
aws默认地区
当使用Amazon S3作为对象存储时,如果与备用值不同,请将此设置为与指定桶对应的区域。
默认: us-east-1
| influxdb3 服务选项 | 环境变量 |
|---|---|
--aws-default-region | AWS_DEFAULT_REGION |
aws-端点
当使用与Amazon S3兼容的存储服务时,将此设置为终端。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--aws-endpoint | AWS_ENDPOINT |
aws-session-token
当使用Amazon S3作为对象存储时,将此设置为会话令牌。这在使用联合登录或单点登录并通过UI获取凭证时非常方便。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--aws-session-token | AWS_SESSION_TOKEN |
允许HTTP的AWS
允许未加密的HTTP连接到AWS。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--aws-allow-http | AWS_ALLOW_HTTP |
跳过签名
如果启用,S3 对象存储将不获取凭据并且不签署请求。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--aws-skip-signature | AWS_SKIP_SIGNATURE |
谷歌云服务
谷歌服务账户
当使用Google Cloud Storage作为对象存储时,将其设置为包含Google凭据的JSON文件的路径。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--google-service-account | GOOGLE_SERVICE_ACCOUNT |
微软Azure
azure-storage-account
当使用微软Azure作为对象存储时,将其设置为您在导航到 所有服务 > 存储账户 > [name] 时看到的名称。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--azure-storage-account | AZURE_STORAGE_ACCOUNT |
azure-storage-access-key
使用Microsoft Azure作为对象存储时,将此设置为存储帐户的设置 > 访问密钥中的一个密钥值。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--azure-storage-access-key | AZURE_STORAGE_ACCESS_KEY |
对象存储
桶
设置要使用的对象存储桶的名称。必须同时将--object-store设置为云对象存储,以使此选项生效。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--bucket | INFLUXDB3_BUCKET |
对象存储连接限制
使用基于网络的对象存储时,将连接数量限制为此值。
默认: 16
| influxdb3 服务选项 | 环境变量 |
|---|---|
--object-store-connection-limit | OBJECT_STORE_CONNECTION_LIMIT |
仅限对象存储 HTTP2
强制将HTTP/2连接到基于网络的对象存储。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--object-store-http2-only | OBJECT_STORE_HTTP2_ONLY |
对象存储-http2-最大帧大小
设置HTTP/2连接的最大帧大小(以字节/八位字节为单位)。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--object-store-http2-max-frame-size | OBJECT_STORE_HTTP2_MAX_FRAME_SIZE |
对象存储最大重试次数
定义重试请求的最大次数。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--object-store-max-retries | OBJECT_STORE_MAX_RETRIES |
对象存储重试超时
指定从初始请求开始的最大时间长度,在超过此时间后将不再尝试重试。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--object-store-retry-timeout | OBJECT_STORE_RETRY_TIMEOUT |
对象存储缓存端点
设置一个与S3兼容的、支持HTTP/2的对象存储缓存的终端。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--object-store-cache-endpoint | OBJECT_STORE_CACHE_ENDPOINT |
日志
日志过滤器
设置日志的过滤指令。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--log-filter | 日志过滤器 |
日志目的地
指定日志的目标。
默认: stdout
| influxdb3 服务选项 | 环境变量 |
|---|---|
--log-destination | 日志目标 |
日志格式
定义日志的消息格式。
此选项支持以下值:
full(默认)
默认: full
| influxdb3 服务选项 | 环境变量 |
|---|---|
--log-format | LOG_FORMAT |
查询日志大小
定义查询日志的大小。在此之前,最多保留如此多的查询在日志中,以便为新查询腾出空间,较旧的查询将被驱逐。
默认: 1000
| influxdb3 服务选项 | 环境变量 |
|---|---|
--query-log-size | INFLUXDB3_QUERY_LOG_SIZE |
跟踪
- traces-exporter
- traces-exporter-jaeger-agent-host
- traces-exporter-jaeger-agent-port
- traces-exporter-jaeger-service-name
- traces-exporter-jaeger-trace-context-header-name
- traces-jaeger-debug-name
- traces-jaeger-tags
- traces-jaeger-max-msgs-per-second
追踪导出器
设置跟踪导出器的类型。
默认: none
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-exporter | TRACES_EXPORTER |
跟踪导出器 - Jaeger代理主机
指定用于追踪的Jaeger代理网络主机名。
默认: 0.0.0.0
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-agent-host | TRACES_EXPORTER_JAEGER_AGENT_HOST |
traces-exporter-jaeger-agent-port
定义用于追踪的 Jaeger 代理网络端口。
默认: 6831
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-agent-port | TRACES_EXPORTER_JAEGER_AGENT_PORT |
traces-exporter-jaeger服务名称
设置用于追踪的Jaeger服务名称。
默认: iox-conductor
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-service-name | TRACES_EXPORTER_JAEGER_SERVICE_NAME |
traces-exporter-jaeger-trace-context-header-name
指定用于传递跟踪上下文的 header 名称。
默认: uber-trace-id
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-trace-context-header-name | TRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME |
traces-jaeger-debug-name
指定在追踪中用于强制采样的header名称。
默认: jaeger-debug-id
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-jaeger-debug-name | TRACES_EXPORTER_JAEGER_DEBUG_NAME |
traces-jaeger-tags
定义一组 key=value 对,以注释跟踪跨度。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-jaeger-tags | TRACES_EXPORTER_JAEGER_TAGS |
traces-jaeger-每秒最大消息数
指定每秒发送到Jaeger服务的最大消息数量。
默认: 1000
| influxdb3 服务选项 | 环境变量 |
|---|---|
--traces-jaeger-max-msgs-per-second | TRACES_JAEGER_MAX_MSGS_PER_SECOND |
数据融合
- datafusion-num-threads
- 数据融合运行时类型
- datafusion-runtime-disable-lifo-slot
- 数据融合运行时事件间隔
- 数据融合运行时全局队列间隔
- datafusion-runtime-max-blocking-threads
- datafusion-runtime-max-io-events-per-tick
- 数据融合运行时线程保持活动
- 数据融合运行时线程优先级
- datafusion-max-parquet-fanout
- datafusion-use-cached-parquet-loader
- 数据融合配置
数据融合-线程数量
设置要使用的DataFusion运行时线程的最大数量。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-num-threads | INFLUXDB3_DATAFUSION_NUM_THREADS |
数据融合运行时类型
指定 DataFusion tokio 运行时类型。
此选项支持以下值:
current-threadmulti-thread(默认)multi-thread-alt
默认: multi-thread
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-type | INFLUXDB3_DATAFUSION_RUNTIME_TYPE |
禁用后进先出插槽
禁用DataFusion运行时的后进先出槽。
此选项支持以下值:
truefalse
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-disable-lifo-slot | INFLUXDB3_DATAFUSION_RUNTIME_DISABLE_LIFO_SLOT |
数据融合运行时事件间隔
设置调度程序的调度滴答数,之后DataFusion tokio运行时轮询外部事件——例如:定时器、I/O。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-event-interval | INFLUXDB3_DATAFUSION_RUNTIME_EVENT_INTERVAL |
数据融合运行时全局队列间隔
设置调度程序滴答数,之后DataFusion运行时的调度程序将轮询全局任务队列。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-global-queue-interval | INFLUXDB3_DATAFUSION_RUNTIME_GLOBAL_QUEUE_INTERVAL |
数据融合运行时最大阻塞线程数
指定由DataFusion运行时生成的额外线程的限制。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-max-blocking-threads | INFLUXDB3_DATAFUSION_RUNTIME_MAX_BLOCKING_THREADS |
datafusion-runtime-max-io-events-per-tick
配置每次处理的最大事件数量,由tokio DataFusion运行时处理。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-max-io-events-per-tick | INFLUXDB3_DATAFUSION_RUNTIME_MAX_IO_EVENTS_PER_TICK |
数据融合运行时线程保持活动
为tokio DataFusion运行时的阻塞池中的线程设置自定义超时。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-thread-keep-alive | INFLUXDB3_DATAFUSION_RUNTIME_THREAD_KEEP_ALIVE |
数据融合运行时线程优先级
设置tokio DataFusion运行时工作线程的优先级。
默认: 10
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-runtime-thread-priority | INFLUXDB3_DATAFUSION_RUNTIME_THREAD_PRIORITY |
数据融合最大 Parquet 扇出
当需要以排序方式使用多个parquet文件时 (例如去重),指定最大的扇出。
默认: 1000
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-max-parquet-fanout | INFLUXDB3_DATAFUSION_MAX_PARQUET_FANOUT |
数据融合-使用缓存的 Parquet 加载器
在从对象存储读取parquet文件时使用缓存的parquet加载器。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-use-cached-parquet-loader | INFLUXDB3_DATAFUSION_USE_CACHED_PARQUET_LOADER |
数据融合配置
提供自定义配置给DataFusion,格式为以逗号分隔的key:value对。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--datafusion-config | INFLUXDB3_DATAFUSION_CONFIG |
HTTP
最大HTTP请求大小
指定HTTP请求的最大大小。
默认: 10485760
| influxdb3 服务选项 | 环境变量 |
|---|---|
--max-http-request-size | INFLUXDB3_MAX_HTTP_REQUEST_SIZE |
http-bind
定义了InfluxDB提供HTTP API请求的地址。
默认: 0.0.0.0:8181
| influxdb3 服务选项 | 环境变量 |
|---|---|
--http-bind | INFLUXDB3_HTTP_BIND_ADDR |
持有者令牌
指定要为请求设置的承载令牌。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--bearer-token | INFLUXDB3_BEARER_TOKEN |
内存
内存池数据字节
指定用于存储数据的RAM缓存大小,以字节为单位。
默认: 1073741824
| influxdb3 服务选项 | 环境变量 |
|---|---|
--ram-pool-data-bytes | INFLUXDB3_RAM_POOL_DATA_BYTES |
执行内存池字节
指定查询执行过程中使用的内存池的大小,以字节为单位。
默认: 8589934592
| influxdb3 服务选项 | 环境变量 |
|---|---|
--exec-mem-pool-bytes | INFLUXDB3_EXEC_MEM_POOL_BYTES |
缓冲区内存限制(MB)
指定缓冲数据的大小限制(以MB为单位)。如果超过此限制,服务器将强制进行快照。
默认: 5000
| influxdb3 服务选项 | 环境变量 |
|---|---|
--buffer-mem-limit-mb | INFLUXDB3_BUFFER_MEM_LIMIT_MB |
强制快照内存阈值
指定内部内存缓冲区的阈值。支持百分比(可用内存的部分)或绝对值(总字节数)——例如: 70% 或 100000。
默认: 70%
| influxdb3 服务选项 | 环境变量 |
|---|---|
--force-snapshot-mem-threshold | INFLUXDB3_FORCE_SNAPSHOT_MEM_THRESHOLD |
预写日志 (WAL)
写入日志刷新间隔
指定将缓冲数据刷新到WAL文件的时间间隔。等待WAL确认的写入操作最多需要此时间间隔才能完成。
默认: 1s
| influxdb3 服务选项 | 环境变量 |
|---|---|
--wal-flush-interval | INFLUXDB3_WAL_FLUSH_INTERVAL |
wal快照大小
定义在快照中尝试移除的WAL文件数量。这个数量乘以时间间隔,决定了快照被拍摄的频率。
默认: 600
| influxdb3 服务选项 | 环境变量 |
|---|---|
--wal-snapshot-size | INFLUXDB3_WAL_SNAPSHOT_SIZE |
wal-最大写入缓冲区大小
指定在必须执行并成功刷新之前,可以缓冲的最大写请求数量。
默认: 100000
| influxdb3 服务选项 | 环境变量 |
|---|---|
--wal-max-write-buffer-size | INFLUXDB3_WAL_MAX_WRITE_BUFFER_SIZE |
要保留的快照WAL文件
指定在对象存储中保留的快照 WAL 文件的数量。冲刷 WAL 文件不会立即清除 WAL 文件;当快照 WAL 文件的数量超过该数量时,它们将被删除。
默认: 300
| influxdb3 服务选项 | 环境变量 |
|---|---|
--snapshotted-wal-files-to-keep | INFLUXDB3_NUM_WAL_FILES_TO_KEEP |
压缩
gen1-持续时间
指定Parquet文件的排列持续时间。数据时间戳
将每行放入这种持续时间的文件中。支持的持续时间为 1m,
5m 和 10m。这些文件被称为“第一代”文件,InfluxDB 3 Enterprise中的压缩器可以将其合并为更大的一代。
默认: 10m
| influxdb3 服务选项 | 环境变量 |
|---|---|
--gen1-duration | INFLUXDB3_GEN1_DURATION |
缓存
- 抢占式缓存年龄
- parquet-mem-cache-size-mb
- parquet-mem-cache-prune-percentage
- parquet-mem-cache-prune-interval
- 禁用 Parquet 内存缓存
- 最后缓存驱逐间隔
- 唯一缓存驱逐间隔
抢先缓存年龄
指定在压缩期间预取到Parquet缓存中的时间间隔。
默认: 3d
| influxdb3 服务选项 | 环境变量 |
|---|---|
--preemptive-cache-age | INFLUXDB3_PREEMPTIVE_CACHE_AGE |
parquet-内存缓存大小(MB)
定义内存中Parquet缓存的大小,以兆字节(MB)为单位。
默认: 1000
| influxdb3 服务选项 | 环境变量 |
|---|---|
--parquet-mem-cache-size-mb | INFLUXDB3_PARQUET_MEM_CACHE_SIZE_MB |
parquet-mem-cache-prune-percentage
指定在内存Parquet缓存的修剪操作中要修剪的条目的百分比。
默认: 0.1
| influxdb3 服务选项 | 环境变量 |
|---|---|
--parquet-mem-cache-prune-percentage | INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_PERCENTAGE |
parquet-mem-cache-prune-interval
设置检查内存中的Parquet缓存是否需要修剪的时间间隔。
默认: 1s
| influxdb3 服务选项 | 环境变量 |
|---|---|
--parquet-mem-cache-prune-interval | INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_INTERVAL |
禁用 Parquet 内存缓存
禁用内存中的 Parquet 缓存。默认情况下,缓存是启用的。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--disable-parquet-mem-cache | INFLUXDB3_DISABLE_PARQUET_MEM_CACHE |
最后缓存驱逐间隔
指定从Last-N-Value缓存中驱逐过期条目的时间间隔,表示为人类可读的时间——例如: 20s, 1m, 1h。
默认: 10s
| influxdb3 服务选项 | 环境变量 |
|---|---|
--last-cache-eviction-interval | INFLUXDB3_LAST_CACHE_EVICTION_INTERVAL |
唯一缓存驱逐间隔
指定从不同值缓存中驱逐过期条目的间隔, 以人类可读的时间表示——例如: 20s, 1m, 1h。
默认: 10s
| influxdb3 服务选项 | 环境变量 |
|---|---|
--distinct-cache-eviction-interval | INFLUXDB3_DISTINCT_CACHE_EVICTION_INTERVAL |
插件
插件目录
指定包含Python插件及其测试文件的本地目录。
| influxdb3 服务选项 | 环境变量 |
|---|---|
--plugin-dir | INFLUXDB3_PLUGIN_DIR |