Skip to content

配置

eKuiper 的配置是基于 yaml 文件,允许通过更新文件、环境变量和 REST API 进行配置。

配置范围

eKuiper 的配置包括

  1. etc/kuiper.yaml:全局配置文件。对其进行修改需要重新启动 eKuiper 实例。请参考基本配置文件了解详情。
  2. etc/sources/${source_name}.yaml:每个源的配置文件,用于定义默认属性(MQTT源除外,其配置文件为etc/mqtt_source.yaml)。详情请参考每个源的文档。例如,MQTT 源Neuron 源涵盖的配置项目。
  3. etc/connections/connection.yaml:共享连接配置文件。

配置方法

用户可以通过3种方法设置配置,按优先级排序。

  1. 管理控制台/REST API
  2. 环境变量
  3. etc 文件夹中的 Yaml 文件

yaml 文件通常被用来设置默认配置。在裸机上部署时,用户可以很容易地访问文件系统,因此通常通过配置修改配置文件来更改配置。

当在 docker 或 k8s 中部署时,操作文件就不容易了,少量的配置可以通过环境变量来设置或覆盖。而在运行时,终端用户将使用管理控制台来动态地改变配置。eKuiper 管理控制台中的"配置"页面可以帮助用户直观地修改配置。

环境变量的语法

从环境变量到配置 yaml 文件之间有一个映射。当通过环境变量修改配置时,环境变量需要按照规定的格式来设置,例如。

text
KUIPER__BASIC__DEBUG => basic.debug in etc/kuiper.yaml
MQTT_SOURCE__DEMO_CONF__QOS => demo_conf.qos in etc/mqtt_source.yaml
EDGEX__DEFAULT__PORT => default.port in etc/sources/edgex.yaml
CONNECTION__EDGEX__REDISMSGBUS__PORT => edgex.redismsgbus.port int etc/connections/connection.yaml

环境变量用__分隔,分隔后的第一部分内容与配置文件的文件名匹配,其余内容与不同级别的配置项匹配。文件名可以是 etc 文件夹中的 KUIPERMQTT_SOURCE;或 etc/connection 文件夹中的 CONNECTION。其余情况,映射文件应在 etc/sources 文件夹下。

命令行参数

eKuiper 支持从命令行参数的方式传入配置,如下:

配置名类型配置作用
loadFileTypestring设置加载文件的方式,支持 "relative" 与 "absolute" 两种方式
etcstring设置 etc 目录的绝对路径,只有当 loadFileType 是 "absolute" 时有效
datastring设置 data 目录的绝对路径,只有当 loadFileType 是 "absolute" 时有效
logstring设置 log 目录的绝对路径,只有当 loadFileType 是 "absolute" 时有效
pluginsstring设置 plugins 目录的绝对路径,只有当 loadFileType 是 "absolute" 时有效

举例如下:

sh
./bin/kuiperd -loadFileType absolute -etc /etc/kuiper