InfluxDB 3 Core 配置选项
InfluxDB 3 Core 允许您通过使用 influxdb3 命令选项或设置环境变量来自定义配置。
配置您的服务器
通过命令选项或环境变量传递配置选项。命令选项优先于环境变量。
全局选项与服务器特定选项
有些选项是全局的(在命令之前指定),而另一些是服务器特定的(在 serve 之后指定)。
- 全局选项:适用于
influxdb3CLI 本身(例如,--num-io-threads)。 - 服务器选项:仅适用于
serve命令(例如,--node-id、--object-store、--verbose)。
带全局和服务器特定选项的示例命令
influxdb3 --num-io-threads=4 serve \
--node-id node0 \
--object-store file \
--data-dir ~/.influxdb3 \
--verbose \
--log-filter info示例环境变量
export INFLUXDB3_NODE_IDENTIFIER_PREFIX=my-node
export INFLUXDB3_OBJECT_STORE=file
export INFLUXDB3_DB_DIR=~/.influxdb3
export LOG_FILTER=info
influxdb3 serve全局配置选项
以下选项全局适用于 influxdb3 CLI,必须在任何子命令(例如 serve)之前指定。
num-io-threads
设置分配给 IO 运行时线程池的线程数。IO 线程处理 HTTP 请求服务、行协议解析和文件操作。
--num-io-threads 是一个全局选项,必须在 serve 命令之前指定。
# Set IO threads (global option before serve)
influxdb3 --num-io-threads=8 serve --node-id=node0 --object-store=file| influxdb3 选项 | 环境变量 |
|---|---|
--num-io-threads | INFLUXDB3_NUM_IO_THREADS |
服务器配置选项
通用
data-dir
对于 file 对象存储,定义 InfluxDB 3 Core 用于在本地存储文件的位置。在使用 file 对象存储时必需。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--data-dir | INFLUXDB3_DB_DIR |
node-id
指定用作所有对象存储文件路径前缀的节点标识符。对于共享相同对象存储配置(例如,相同存储桶)的任何主机,此值应唯一。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--node-id | INFLUXDB3_NODE_IDENTIFIER_PREFIX |
object-store
指定用于存储 Parquet 文件的对象存储。此选项支持以下值:
memory:实际上没有对象持久化。memory-throttled:类似于memory,但具有在一定程度上类似于云对象存储的延迟和吞吐量。file:将对象存储在本地文件系统中(还必须设置--data-dir)。s3:Amazon S3(还必须设置--bucket、--aws-access-key-id、--aws-secret-access-key,可能还有--aws-default-region)。google:Google Cloud Storage(还必须设置--bucket和--google-service-account)。azure:Microsoft Azure blob storage(还必须设置--bucket、--azure-storage-account和--azure-storage-access-key)。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--object-store | INFLUXDB3_OBJECT_STORE |
安全性
- tls-key
- tls-cert
- tls-minimum-versions
- without-auth
- disable-authz
- admin-token-recovery-http-bind
- admin-token-file
tls-key
用于启用 TLS 的密钥文件的路径。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--tls-key | INFLUXDB3_TLS_KEY |
tls-cert
用于启用 TLS 的证书文件的路径。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--tls-cert | INFLUXDB3_TLS_CERT |
tls-minimum-version
TLS 的最低版本。有效值为 tls-1.2 或 tls-1.3。默认为 tls-1.2。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--tls-minimum-version | INFLUXDB3_TLS_MINIMUM_VERSION |
without-auth
禁用所有服务器操作(CLI 命令和 API 请求)的身份验证。服务器在不要求令牌或身份验证的情况下处理所有请求。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--without-auth | INFLUXDB3_START_WITHOUT_AUTH |
disable-authz
通过传递逗号分隔的资源列表,可以选择禁用授权。有效值为 health、ping 和 metrics。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--disable-authz | INFLUXDB3_DISABLE_AUTHZ |
admin-token-recovery-http-bind
在单独的端口上启用管理员令牌恢复 HTTP 服务器。此服务器允许在没有现有身份验证的情况下重新生成丢失的管理员令牌。服务器在成功重新生成令牌后自动关闭。
此选项创建一个未经身份验证的端点,可以重新生成管理员令牌。仅当您丢失了管理员令牌的访问权限时才使用此选项,并确保服务器只能从受信任的网络访问。
默认值: 127.0.0.1:8182(启用时)
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--admin-token-recovery-http-bind | INFLUXDB3_ADMIN_TOKEN_RECOVERY_HTTP_BIND |
示例用法
# Start server with recovery endpoint
influxdb3 serve --admin-token-recovery-http-bind
# In another terminal, regenerate the admin token
influxdb3 create token --admin --regenerate --host http://127.0.0.1:8182admin-token-file
指定一个离线管理员令牌文件,如果服务器启动时不存在任何令牌,则使用该文件。启动后,您可以使用提供的令牌与服务器进行交互。离线管理员令牌旨在帮助自动化部署。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--admin-token-file | INFLUXDB3_ADMIN_TOKEN_FILE |
离线管理员令牌定义在 JSON 格式的文件中。使用以下命令生成离线管理员令牌文件:
influxdb3 create token --admin \
--name "example-admin-token" \
--expiry 1d \
--offline \
--output-file ./path/to/admin-token.json示例用法
# Generate an admin token offline
influxdb3 create token \
--admin \
--name "example-admin-token" \
--expiry 1d \
--offline \
--output-file ./path/to/admin-token.json
# Start InfluxDB 3 Core using the generated token
influxdb3 serve --admin-token-file ./path/to/admin-token.jsonAWS
- aws-access-key-id
- aws-secret-access-key
- aws-default-region
- aws-endpoint
- aws-session-token
- aws-allow-http
- aws-skip-signature
- aws-credentials-file
aws-access-key-id
当使用 Amazon S3 作为对象存储时,将其设置为具有读取和写入指定 S3 存储桶权限的访问密钥。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-access-key-id | AWS_ACCESS_KEY_ID |
aws-secret-access-key
当使用 Amazon S3 作为对象存储时,将其设置为与指定访问密钥 ID 对应的秘密访问密钥。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-secret-access-key | AWS_SECRET_ACCESS_KEY |
aws-default-region
当使用 Amazon S3 作为对象存储时,将其设置为与指定存储桶对应的区域,如果与回退值不同。
默认值: us-east-1
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-default-region | AWS_DEFAULT_REGION |
aws-endpoint
当使用兼容 Amazon S3 的存储服务时,将其设置为端点。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-endpoint | AWS_ENDPOINT |
aws-session-token
当使用 Amazon S3 作为对象存储时,将其设置为会话令牌。当使用联合登录或 SSO 并通过 UI 获取凭据时,此功能非常有用。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-session-token | AWS_SESSION_TOKEN |
aws-allow-http
允许与 AWS 进行未加密的 HTTP 连接。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-allow-http | AWS_ALLOW_HTTP |
aws-skip-signature
如果启用,S3 对象存储不会获取凭据,也不会签署请求。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-skip-signature | AWS_SKIP_SIGNATURE |
aws-credentials-file
指定您的 S3 凭据文件的路径。在使用凭据文件时,文件中的设置会覆盖相应的 CLI 标志。
S3 凭据文件为 JSON 格式,应包含以下内容:
{
"aws_access_key_id": "AWS_ACCESS_KEY_ID",
"aws_secret_access_key": "AWS_SECRET_ACCESS_KEY",
"aws_session_token": "AWS_SESSION_TOKEN",
"expiry": "UNIX_SECONDS_TIMESTAMP"
}aws_session_token 和 expiry 字段是可选的。文件会在到期时间或每小时的间隔进行自动检查更新。
如果对象存储返回“未授权”错误,InfluxDB 将尝试从该文件更新其内存中的凭据,然后重试对象存储请求。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--aws-credentials-file | AWS_CREDENTIALS_FILE |
Google Cloud Service
google-service-account
当使用 Google Cloud Storage 作为对象存储时,将其设置为包含 Google 凭据的 JSON 文件的路径。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--google-service-account | GOOGLE_SERVICE_ACCOUNT |
Microsoft Azure
azure-storage-account
当使用 Microsoft Azure 作为对象存储时,将其设置为在导航到所有服务 > 存储帐户 > [名称] 时看到的名称。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--azure-storage-account | AZURE_STORAGE_ACCOUNT |
azure-storage-access-key
当使用 Microsoft Azure 作为对象存储时,将其设置为存储帐户设置 > 访问密钥中的一个密钥值。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--azure-storage-access-key | AZURE_STORAGE_ACCESS_KEY |
azure-endpoint
当使用 Microsoft Azure 作为对象存储时,将其设置为 Azure Blob Storage 端点。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--azure-endpoint | AZURE_ENDPOINT |
azure-allow-http
当使用 Microsoft Azure 作为对象存储时,允许向 Azure Blob Storage 发送未加密的 HTTP 请求。
默认值: false
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--azure-allow-http | AZURE_ALLOW_HTTP |
对象存储
- bucket
- object-store-connection-limit
- object-store-http2-only
- object-store-http2-max-frame-size
- object-store-max-retries
- object-store-retry-timeout
- object-store-cache-endpoint
bucket
设置要使用的对象存储存储桶的名称。还必须将 --object-store 设置为云对象存储才能使此选项生效。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--bucket | INFLUXDB3_BUCKET |
object-store-connection-limit
当使用基于网络的[^1]对象存储时,将连接数限制为此值。
默认值: 16
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--object-store-connection-limit | OBJECT_STORE_CONNECTION_LIMIT |
object-store-http2-only
强制与基于网络的[^1]对象存储建立 HTTP/2 连接。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--object-store-http2-only | OBJECT_STORE_HTTP2_ONLY |
object-store-http2-max-frame-size
设置 HTTP/2 连接的最大帧大小(以字节为单位)。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--object-store-http2-max-frame-size | OBJECT_STORE_HTTP2_MAX_FRAME_SIZE |
object-store-max-retries
定义重试请求的最大次数。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--object-store-max-retries | OBJECT_STORE_MAX_RETRIES |
object-store-retry-timeout
指定自初始请求以来不再尝试重试的最长时间。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--object-store-retry-timeout | OBJECT_STORE_RETRY_TIMEOUT |
object-store-cache-endpoint
设置兼容 S3 的 HTTP/2 对象存储缓存的端点。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--object-store-cache-endpoint | OBJECT_STORE_CACHE_ENDPOINT |
日志
log-filter
设置日志的过滤器指令。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--log-filter | LOG_FILTER |
log-destination
指定日志的去向。
此选项支持以下值:
stdout(默认)stderr
默认值: stdout
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--log-destination | LOG_DESTINATION |
log-format
定义日志的消息格式。
此选项支持以下值:
full(默认)
默认值: full
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--log-format | LOG_FORMAT |
query-log-size
定义查询日志的大小。在旧查询被驱逐以腾出空间给新查询之前,最多保留此数量的查询。
默认值: 1000
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--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
traces-exporter
设置跟踪导出器的类型。
默认值: none
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-exporter | TRACES_EXPORTER |
traces-exporter-jaeger-agent-host
指定用于跟踪的 Jaeger 代理网络主机名。
默认值: 0.0.0.0
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-agent-host | TRACES_EXPORTER_JAEGER_AGENT_HOST |
traces-exporter-jaeger-agent-port
定义用于跟踪的 Jaeger 代理网络端口。
默认值: 6831
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-agent-port | TRACES_EXPORTER_JAEGER_AGENT_PORT |
traces-exporter-jaeger-service-name
设置用于跟踪的 Jaeger 服务名称。
默认值: iox-conductor
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-service-name | TRACES_EXPORTER_JAEGER_SERVICE_NAME |
traces-exporter-jaeger-trace-context-header-name
指定用于传递跟踪上下文的标头名称。
默认值: uber-trace-id
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-exporter-jaeger-trace-context-header-name | TRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME |
traces-jaeger-debug-name
指定用于强制采样跟踪的标头名称。
默认值: jaeger-debug-id
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-jaeger-debug-name | TRACES_EXPORTER_JAEGER_DEBUG_NAME |
traces-jaeger-tags
定义一组 key=value 对,用于注释跟踪跨度。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-jaeger-tags | TRACES_EXPORTER_JAEGER_TAGS |
traces-jaeger-max-msgs-per-second
指定每秒发送到 Jaeger 服务的最大消息数。
默认值: 1000
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--traces-jaeger-max-msgs-per-second | TRACES_JAEGER_MAX_MSGS_PER_SECOND |
DataFusion
- datafusion-num-threads
- datafusion-max-parquet-fanout
- datafusion-use-cached-parquet-loader
- datafusion-config
datafusion-num-threads
设置要使用的 DataFusion 运行时线程的最大数量。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--datafusion-num-threads | INFLUXDB3_DATAFUSION_NUM_THREADS |
datafusion-max-parquet-fanout
当需要以排序方式处理多个 Parquet 文件时(例如,去重),指定最大扇出。
默认值: 1000
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--datafusion-max-parquet-fanout | INFLUXDB3_DATAFUSION_MAX_PARQUET_FANOUT |
datafusion-use-cached-parquet-loader
读取对象存储中的 Parquet 文件时,使用缓存的 Parquet 加载器。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--datafusion-use-cached-parquet-loader | INFLUXDB3_DATAFUSION_USE_CACHED_PARQUET_LOADER |
datafusion-config
提供自定义配置到 DataFusion,作为逗号分隔的 key:value 对列表。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--datafusion-config | INFLUXDB3_DATAFUSION_CONFIG |
HTTP
max-http-request-size
指定 HTTP 请求的最大大小。
默认值: 10485760
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--max-http-request-size | INFLUXDB3_MAX_HTTP_REQUEST_SIZE |
http-bind
定义 InfluxDB 提供 HTTP API 请求的地址。
默认值: 0.0.0.0:8181
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--http-bind | INFLUXDB3_HTTP_BIND_ADDR |
Memory
exec-mem-pool-bytes
指定用于查询处理和数据操作的内存池大小。InfluxDB 3 Core 处理查询和执行内部数据管理任务时使用此内存池。可以按字节的绝对值或按总可用内存的百分比给出,例如:8000000000 或 10%。
默认值: 8589934592
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--exec-mem-pool-bytes | INFLUXDB3_EXEC_MEM_POOL_BYTES |
force-snapshot-mem-threshold
指定内部内存缓冲区的阈值。支持百分比(可用内存的一部分)或兆字节的绝对值,例如:70% 或 1000。
默认值: 70%
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--force-snapshot-mem-threshold | INFLUXDB3_FORCE_SNAPSHOT_MEM_THRESHOLD |
写前日志 (WAL)
- wal-flush-interval
- wal-snapshot-size
- wal-max-write-buffer-size
- snapshotted-wal-files-to-keep
- wal-replay-fail-on-error
- wal-replay-concurrency-limit
wal-flush-interval
指定将缓冲数据刷新到 WAL 文件的间隔。等待 WAL 确认的写入操作最多需要此间隔才能完成。使用 s 表示秒或 ms 表示毫秒。对于本地磁盘,建议使用 100 ms。
默认值: 1s
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--wal-flush-interval | INFLUXDB3_WAL_FLUSH_INTERVAL |
wal-snapshot-size
定义在快照中尝试删除的 WAL 文件数量。此数量乘以间隔,决定了快照的频率。
默认值: 600
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--wal-snapshot-size | INFLUXDB3_WAL_SNAPSHOT_SIZE |
wal-max-write-buffer-size
指定在必须执行并成功刷新之前可以缓冲的写入请求的最大数量。
默认值: 100000
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--wal-max-write-buffer-size | INFLUXDB3_WAL_MAX_WRITE_BUFFER_SIZE |
snapshotted-wal-files-to-keep
指定在对象存储中保留的快照 WAL 文件数量。刷新 WAL 文件不会立即清除 WAL 文件;当快照 WAL 文件的数量超过此数量时,它们将被删除。
默认值: 300
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--snapshotted-wal-files-to-keep | INFLUXDB3_NUM_WAL_FILES_TO_KEEP |
wal-replay-fail-on-error
确定 WAL 重放是否应在遇到错误时失败。
默认值: false
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--wal-replay-fail-on-error | INFLUXDB3_WAL_REPLAY_FAIL_ON_ERROR |
wal-replay-concurrency-limit
WAL 重放期间的并发限制。设置此数字过高可能导致 OOM。默认值是动态确定的。
默认值: max(num_cpus, 10)
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--wal-replay-concurrency-limit | INFLUXDB3_WAL_REPLAY_CONCURRENCY_LIMIT |
压缩
gen1-duration
指定 Parquet 文件的排列持续时间。数据时间戳会将每一行放入此持续时间的文件中。支持的持续时间为 1m、5m 和 10m。这些文件被称为“第一代”文件,InfluxDB 3 Enterprise 中的压缩器可以将其合并为更大的代。
默认值: 10m
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--gen1-duration | INFLUXDB3_GEN1_DURATION |
缓存
preemptive-cache-age
指定在压缩期间预取到 Parquet 缓存的间隔。
默认值: 3d
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--preemptive-cache-age | INFLUXDB3_PREEMPTIVE_CACHE_AGE |
parquet-mem-cache-size
指定 Parquet 内存缓存的大小。接受兆字节的值(作为整数)或总可用内存的百分比(例如,20%,4096)。
默认值: 20%
v3.0.0 中的重大更改
在 v3.0.0 中,--parquet-mem-cache-size-mb 被替换为 --parquet-mem-cache-size。新选项同时接受兆字节(整数)和百分比值。默认值从 1000 MB 更改为总可用内存的 20%。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--parquet-mem-cache-size | INFLUXDB3_PARQUET_MEM_CACHE_SIZE |
parquet-mem-cache-prune-percentage
指定在 Parquet 内存缓存的修剪操作期间要修剪的条目百分比。
默认值: 0.1
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--parquet-mem-cache-prune-percentage | INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_PERCENTAGE |
parquet-mem-cache-prune-interval
设置检查 Parquet 内存缓存是否需要修剪的间隔。
默认值: 1s
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--parquet-mem-cache-prune-interval | INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_INTERVAL |
parquet-mem-cache-query-path-duration
指定
缓存最近 Parquet 文件在内存中的时间窗口。默认值为 5h。
只有包含时间戳在 now 和 now - duration 之间的数据的文件才会在查询期间被缓存,例如,使用默认的 5h 设置。
- 当前时间:
2024-06-10 15:00:00 - 缓存窗口:最近 5 小时(
2024-06-10 10:00:00到现在)
如果查询请求的数据来自 2024-06-09(旧)和 2024-06-10 14:00(近)
- 已缓存:数据时间戳在 5 小时窗口内(
2024-06-10 14:00)的 Parquet 文件 - 未缓存:数据时间戳不在 5 小时窗口内(
2024-06-09)的 Parquet 文件
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--parquet-mem-cache-query-path-duration | INFLUXDB3_PARQUET_MEM_CACHE_QUERY_PATH_DURATION |
disable-parquet-mem-cache
禁用 Parquet 内存缓存。默认情况下,缓存是启用的。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--disable-parquet-mem-cache | INFLUXDB3_DISABLE_PARQUET_MEM_CACHE |
table-index-cache-max-entries
指定表索引缓存的最大条目数。
默认值: 1000
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--table-index-cache-max-entries | INFLUXDB3_TABLE_INDEX_CACHE_MAX_ENTRIES |
table-index-cache-concurrency-limit
限制表索引缓存操作的并发级别。
默认值: 8
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--table-index-cache-concurrency-limit | INFLUXDB3_TABLE_INDEX_CACHE_CONCURRENCY_LIMIT |
last-cache-eviction-interval
指定从 Last-N-Value 缓存中逐出过期条目的间隔,表示为人类可读的持续时间,例如:20s、1m、1h。
默认值: 10s
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--last-cache-eviction-interval | INFLUXDB3_LAST_CACHE_EVICTION_INTERVAL |
distinct-cache-eviction-interval
指定从不同值缓存中逐出过期条目的间隔,表示为人类可读的持续时间,例如:20s、1m、1h。
默认值: 10s
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--distinct-cache-eviction-interval | INFLUXDB3_DISTINCT_CACHE_EVICTION_INTERVAL |
query-file-limit
限制查询可以访问的 Parquet 文件数量。如果查询尝试读取的数量超过此限制,InfluxDB 3 Core 将返回错误。
默认值: 432
使用默认的 432 设置和 10 分钟的默认 gen1-duration 设置,查询可以访问最多 72 小时的数据,但具体取决于在同一时间段内是否摄取了给定 10 分钟块的所有数据。
您可以增加此限制以允许查询更多文件,但请注意以下副作用:
- 查询性能下降,特别是对于读取更多 Parquet 文件的查询。
- 内存使用量增加。
- 系统因内存不足 (OOM) 错误而终止
influxdb3进程。 - 如果使用对象存储来存储数据,则会产生大量 GET 请求来访问数据(每个文件最多 2 个)。
我们建议保留默认设置并查询较短的时间范围。如果您需要查询更长的时间范围或在访问一小时或更长时间数据的任何查询上获得更快的查询性能,InfluxDB 3 Enterprise 通过压缩和重新排列 Parquet 文件来优化数据存储,从而实现更快的查询性能。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--query-file-limit | INFLUXDB3_QUERY_FILE_LIMIT |
处理引擎
plugin-dir
指定包含 Python 插件及其测试文件的本地目录。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--plugin-dir | INFLUXDB3_PLUGIN_DIR |
plugin-repo
指定用于引用带有 gh: 前缀的插件的远程存储库的基 URL。当您创建带有以 gh: 开头的插件文件名触发器时,InfluxDB 会从该存储库 URL 获取插件代码。
URL 构建会自动处理尾部斜杠—这两种格式功能相同:
https://example.com/plugins/(带尾部斜杠)https://example.com/plugins(不带尾部斜杠)
默认值: 官方 InfluxDB 3 插件存储库 https://raw.githubusercontent.com/influxdata/influxdb3_plugins/main/
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--plugin-repo | INFLUXDB3_PLUGIN_REPO |
示例用法
# Use a custom organization repository
influxdb3 serve \
--plugin-dir ~/.plugins \
--plugin-repo "https://raw.githubusercontent.com/myorg/influxdb-plugins/main/"
# Use an internal mirror
influxdb3 serve \
--plugin-dir ~/.plugins \
--plugin-repo "https://internal.company.com/influxdb-plugins/"
# Set via environment variable
export INFLUXDB3_PLUGIN_REPO="https://custom-repo.example.com/plugins/"
influxdb3 serve --plugin-dir ~/.pluginsvirtual-env-location
指定处理引擎使用的 Python 虚拟环境的位置。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--virtual-env-location | VIRTUAL_ENV |
package-manager
指定处理引擎用于安装插件依赖项的 Python 包管理器。
此选项支持以下值:
discover(默认):自动检测并使用可用的包管理器(uv或pip)。pip:仅使用 pip 包管理器。uv:仅使用 uv 包管理器。disabled:禁用自动包安装(所有依赖项必须预先安装)。
默认值: discover
安全模式(已禁用)
当设置为 disabled 时,InfluxDB 3 Core 会出于安全和合规性要求阻止所有包安装尝试。处理引擎和插件继续正常运行,但包安装请求(通过 CLI 或 API)会返回 403 Forbidden 错误。
此模式专为以下场景设计:
- 企业安全要求:防止任意包安装。
- 合规环境:精确控制可用包。
- 隔离部署:在部署前预装所有依赖项。
- 多租户场景:防止租户安装潜在的恶意包。
在使用 --package-manager disabled 之前,管理员必须将所有必需的 Python 包预先安装到插件将使用的虚拟环境中。
示例
# Start InfluxDB 3 with disabled package manager
influxdb3 serve \
--node-id node0 \
--object-store file \
--data-dir ~/.influxdb3 \
--plugin-dir ~/.plugins \
--package-manager disabled有关插件和包管理的更多信息,请参阅 处理引擎插件。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--package-manager | INFLUXDB3_PACKAGE_MANAGER |
资源限制
- datafusion-num-threads
- num-io-threads - 请参阅 全局配置选项。 | |
datafusion-num-threads
设置分配给 DataFusion 运行时线程池的线程数。DataFusion 线程处理:
- 查询执行和处理
- 数据聚合和转换
- 快照创建(排序/去重操作)
- Parquet 文件生成
默认值: 所有可用核心减去 IO 线程。
DataFusion 线程用于查询处理和快照操作。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--datafusion-num-threads | INFLUXDB3_DATAFUSION_NUM_THREADS |
--num-io-threads 是一个 全局配置选项。
数据生命周期管理
gen1-lookback-duration
指定创建第一代 Parquet 文件时要回溯的时间。
默认值: 24h
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--gen1-lookback-duration | INFLUXDB3_GEN1_LOOKBACK_DURATION |
retention-check-interval
检查和强制执行保留策略的间隔。输入为人类可读的时间,例如:30m 或 1h。
默认值: 30m
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--retention-check-interval | INFLUXDB3_RETENTION_CHECK_INTERVAL |
delete-grace-period
指定永久删除数据之前的宽限期。
默认值: 24h
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--delete-grace-period | INFLUXDB3_DELETE_GRACE_PERIOD |
hard-delete-default-duration
设置数据硬删除的默认持续时间。
默认值: 90d
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--hard-delete-default-duration | INFLUXDB3_HARD_DELETE_DEFAULT_DURATION |
遥测
disable-telemetry-upload
禁用向 InfluxData 上传遥测数据。
默认值: false
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--disable-telemetry-upload | INFLUXDB3_TELEMETRY_DISABLE_UPLOAD |
telemetry-endpoint
指定遥测数据上传的端点。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--telemetry-endpoint | INFLUXDB3_TELEMETRY_ENDPOINT |
TCP 监听器
tcp-listener-file-path
指定 TCP 监听器配置的文件路径。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--tcp-listener-file-path | INFLUXDB3_TCP_LISTINER_FILE_PATH |
admin-token-recovery-tcp-listener-file-path
指定管理员令牌恢复操作的 TCP 监听器文件路径。
| influxdb3 serve 选项 | 环境变量 |
|---|---|
--admin-token-recovery-tcp-listener-file-path | INFLUXDB3_ADMIN_TOKEN_RECOVERY_TCP_LISTENER_FILE_PATH |
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。