Documentation

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

服务器配置选项


通用

对象存储

指定使用哪个对象存储来存储 Parquet 文件。此选项支持以下值:

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

数据目录

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

influxdb3 服务选项环境变量
--data-dirINFLUXDB3_DB_DIR

写作者ID

指定用于所有对象存储文件路径前缀的写入者标识符。 这对于共享相同对象存储配置的任何主机而言应该是唯一的 - 例如,相同的存储桶。

influxdb3 服务选项环境变量
--writer-idINFLUXDB3_WRITER_IDENTIFIER_PREFIX

AWS

aws-访问密钥-id

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

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

aws-secret-access-key

当使用 Amazon S3 作为对象存储时,将此设置为与指定访问密钥 ID 关联的秘密访问密钥。

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

aws默认地区

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

默认: us-east-1

influxdb3 服务选项环境变量
--aws-default-regionAWS_DEFAULT_REGION

aws-端点

当使用与Amazon S3兼容的存储服务时,将此设置为终端。

influxdb3 服务选项环境变量
--aws-endpointAWS_ENDPOINT

aws-session-token

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

influxdb3 服务选项环境变量
--aws-session-tokenAWS_SESSION_TOKEN

允许HTTP的AWS

允许未加密的HTTP连接到AWS。

influxdb3 服务选项环境变量
--aws-allow-httpAWS_ALLOW_HTTP

跳过签名

如果启用,S3 对象存储将不获取凭据并且不签署请求。

influxdb3 服务选项环境变量
--aws-skip-signatureAWS_SKIP_SIGNATURE

谷歌云服务

谷歌服务账户

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

influxdb3 服务选项环境变量
--google-service-accountGOOGLE_SERVICE_ACCOUNT

微软Azure

azure-storage-account

当使用微软Azure作为对象存储时,将其设置为您在导航到 所有服务 > 存储账户 > [name] 时看到的名称。

influxdb3 服务选项环境变量
--azure-storage-accountAZURE_STORAGE_ACCOUNT

azure-storage-access-key

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

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

对象存储

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

influxdb3 服务选项环境变量
--bucketINFLUXDB3_BUCKET

对象存储连接限制

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

默认: 16

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

仅限对象存储 HTTP2

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

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

对象存储-http2-最大帧大小

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

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

对象存储最大重试次数

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

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

对象存储重试超时

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

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

对象存储缓存端点

设置一个与S3兼容的、支持HTTP/2的对象存储缓存的终端。

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

日志

日志过滤器

设置日志的过滤指令。

influxdb3 服务选项环境变量
--log-filter日志过滤器

日志目的地

指定日志的目标。

默认: stdout

influxdb3 服务选项环境变量
--log-destination日志目标

日志格式

定义日志的消息格式。

此选项支持以下值:

  • full (默认)

默认: full

influxdb3 服务选项环境变量
--log-formatLOG_FORMAT

查询日志大小

定义查询日志的大小。在此之前,最多保留如此多的查询在日志中,以便为新查询腾出空间,较旧的查询将被驱逐。

默认: 1000

influxdb3 服务选项环境变量
--query-log-sizeINFLUXDB3_QUERY_LOG_SIZE

跟踪

追踪导出器

设置跟踪导出器的类型。

默认: none

influxdb3 服务选项环境变量
--traces-exporterTRACES_EXPORTER

跟踪导出器 - Jaeger代理主机

指定用于追踪的Jaeger代理网络主机名。

默认: 0.0.0.0

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

traces-exporter-jaeger-agent-port

定义用于追踪的 Jaeger 代理网络端口。

默认: 6831

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

traces-exporter-jaeger服务名称

设置用于追踪的Jaeger服务名称。

默认: iox-conductor

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

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

指定用于传递跟踪上下文的 header 名称。

默认: uber-trace-id

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

traces-jaeger-debug-name

指定在追踪中用于强制采样的header名称。

默认: jaeger-debug-id

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

traces-jaeger-tags

定义一组 key=value 对,以注释跟踪跨度。

influxdb3 服务选项环境变量
--traces-jaeger-tagsTRACES_EXPORTER_JAEGER_TAGS

traces-jaeger-每秒最大消息数

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

默认: 1000

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

数据融合

数据融合-线程数量

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

influxdb3 服务选项环境变量
--datafusion-num-threadsINFLUXDB3_DATAFUSION_NUM_THREADS

数据融合运行时类型

指定 DataFusion tokio 运行时类型。

此选项支持以下值:

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

默认: multi-thread

influxdb3 服务选项环境变量
--datafusion-runtime-typeINFLUXDB3_DATAFUSION_RUNTIME_TYPE

禁用后进先出插槽

禁用DataFusion运行时的后进先出槽。

此选项支持以下值:

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

数据融合运行时事件间隔

设置调度程序的调度滴答数,之后DataFusion tokio运行时轮询外部事件——例如:定时器、I/O。

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

数据融合运行时全局队列间隔

设置调度程序滴答数,之后DataFusion运行时的调度程序将轮询全局任务队列。

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

数据融合运行时最大阻塞线程数

指定由DataFusion运行时生成的额外线程的限制。

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

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

配置每次处理的最大事件数量,由tokio DataFusion运行时处理。

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

数据融合运行时线程保持活动

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

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

数据融合运行时线程优先级

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

默认: 10

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

数据融合最大 Parquet 扇出

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

默认: 1000

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

数据融合-使用缓存的 Parquet 加载器

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

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

数据融合配置

提供自定义配置给DataFusion,格式为以逗号分隔的key:value对。

influxdb3 服务选项环境变量
--datafusion-configINFLUXDB3_DATAFUSION_CONFIG

HTTP

最大HTTP请求大小

指定HTTP请求的最大大小。

默认: 10485760

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

http-bind

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

默认: 0.0.0.0:8181

influxdb3 服务选项环境变量
--http-bindINFLUXDB3_HTTP_BIND_ADDR

持有者令牌

指定要为请求设置的承载令牌。

influxdb3 服务选项环境变量
--bearer-tokenINFLUXDB3_BEARER_TOKEN

内存

内存池数据字节

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

默认: 1073741824

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

执行内存池字节

指定查询执行过程中使用的内存池的大小,以字节为单位。

默认: 8589934592

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

缓冲区内存限制(MB)

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

默认: 5000

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

强制快照内存阈值

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

默认: 70%

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

预写日志 (WAL)

写入日志刷新间隔

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

默认: 1s

influxdb3 服务选项环境变量
--wal-flush-intervalINFLUXDB3_WAL_FLUSH_INTERVAL

wal快照大小

定义在快照中尝试移除的WAL文件数量。这个数量乘以时间间隔,决定了快照被拍摄的频率。

默认: 600

influxdb3 服务选项环境变量
--wal-snapshot-sizeINFLUXDB3_WAL_SNAPSHOT_SIZE

wal-最大写入缓冲区大小

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

默认: 100000

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

要保留的快照WAL文件

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

默认: 300

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

压缩

gen1-持续时间

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

默认: 10m

influxdb3 服务选项环境变量
--gen1-durationINFLUXDB3_GEN1_DURATION

缓存

抢先缓存年龄

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

默认: 3d

influxdb3 服务选项环境变量
--preemptive-cache-ageINFLUXDB3_PREEMPTIVE_CACHE_AGE

parquet-内存缓存大小(MB)

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

默认: 1000

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

parquet-mem-cache-prune-percentage

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

默认: 0.1

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

parquet-mem-cache-prune-interval

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

默认: 1s

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

禁用 Parquet 内存缓存

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

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

最后缓存驱逐间隔

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

默认: 10s

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

唯一缓存驱逐间隔

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

默认: 10s

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

插件

插件目录

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

influxdb3 服务选项环境变量
--plugin-dirINFLUXDB3_PLUGIN_DIR


Flux的未来

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

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

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

有关如何开始的更多信息,请查看: