安装
eKuiper 提供了 docker镜像、二进制包和 Helm Chart 等安装方式。
在 Docker 中运行
运行前请确认 Docker 已经安装。
获取 Docker 镜像
docker pull lfedge/ekuiper:x.x.x
启动 Docker 容器
docker run -p 9081:9081 -d --name kuiper -e MQTT_SOURCE__DEFAULT__SERVER=tcp://broker.emqx.io:1883 lfedge/ekuiper:xxx
在这个例子中,我们通过环境变量指定默认的MQTT代理为broker.emqx.io
,这是一个由[EMQ](https://www.emqx.io)托管的公共MQTT测试服务器。更多 eKuiper 镜像配置和标签说明,请查看docker hub 。
使用管理控制台运行
eKuiper manager 是一个免费的 eKuiper 管理控制台,以 Docker 镜像的形式提供。我们可以使用docker compose 来一键运行 eKuiper 和 eKuiper manager。
在运行之前,请确保docker compose已经安装。
创建 docker-compose.yam文件
version: '3.4' services: manager: image: emqx/ekuiper-manager:x.x.x container_name: ekuiper-manager ports: - "9082:9082" restart: unless-stopped environment: # setting default eKuiper service, works since 1.8.0 DEFAULT_EKUIPER_ENDPOINT: "http://ekuiper:9081" ekuiper: image: lfedge/ekuiper:x.x.x ports: - "9081:9081" - "127.0.0.1:20498:20498" container_name: ekuiper hostname: ekuiper restart: unless-stopped user: root volumes: - /tmp/data:/kuiper/data - /tmp/log:/kuiper/log environment: MQTT_SOURCE__DEFAULT__SERVER: "tcp://broker.emqx.io:1883" KUIPER__BASIC__CONSOLELOG: "true" KUIPER__BASIC__IGNORECASE: "false"
启动 docker-compose 集群
docker-compose up -d
检查 Docker镜像的运行状态,确保两个容器正常启动
docker-compose ps
请查看使用 eKuiper 管理控制台来设置和配置 eKuiper 管理控制台。
通过 Zip 包安装
eKuiper 发布了以下操作系统的二进制包,支持 AMD64、ARM 和 ARM64 等 CPU 架构。
CentOS 7 (EL7)
CentOS 8 (EL8)
Raspbian 10
Debian 9
Debian 10
Ubuntu 16.04
Ubuntu 18.04
Ubuntu 20.04
macOS
对于其他操作系统,如Windows,用户可以从源代码手动编译。
从 ekuiper.org (opens new window)或 Github (opens new window)下载适合你 CPU 架构的 eKuiper zip 或 tar 包。
解压安装包:
unzip kuiper-x.x.x-linux-amd64.zip
启动ekuiper
$ bin/kuiperd
卸载 eKuiper:删除 eKuiper 文件夹即可
安装后,所有的文件都在未压缩的目录内。请查看安装的目录结构了解详情。
通过软件包安装
从 ekuiper.org 或 Github 下载适合你 CPU 架构的 eKuiper 软件包。
安装 eKuiper.
DEB包
# for debian/ubuntu $ sudo apt install ./kuiper-x.x.x-linux-amd64.deb
RPM包
# for CentOS $ sudo rpm -ivh kuiper-x.x.x-linux-amd64.rpm
启动ekuiper
快速启动
$ sudo kuiperd
systemctl
sudo systemctl start kuiper
移除ekuiper
DEB
sudo apt remove --purge kuiper
RPM
sudo yum remove kuiper
当按软件包安装时,eKuiper 的文件夹不在同一个目录中。安装后的目录结构如下。
/usr/lib/kuiper/bin kuiperd kuiper /etc/kuiper ... /var/lib/kuiper/data ... /var/lib/kuiper/plugins ... /var/log/kuiper ...
通过 Helm 安装(K8S、K3S)
添加helm库
$ helm repo add emqx https://repos.emqx.io/charts $ helm repo update
查询ekuiper
$ helm search repo emqx NAME CHART VERSION APP VERSION DESCRIPTION emqx/emqx v4.0.0 v4.0.0 A Helm chart for EMQX emqx/emqx-ee v4.0.0 v4.0.0 A Helm chart for EMQX emqx/ekuiper 0.1.1 0.1.1 A lightweight IoT edge analytic software
启动ekuiper
$ helm install my-ekuiper emqx/ekuiper
查看ekuiper状态
$ kubectl get pods NAME READY STATUS RESTARTS AGE my-ekuiper-0 1/1 Running 0 56s
源码编译
获取源代码
$ git clone https://github.com/lf-edge/ekuiper.git
编译
$ make
启动ekuiper
$ cd _build/kuiper-x.x.x-linux-amd64/ $ bin/kuiperd
eKuiper 允许在编译中对二进制文件进行定制,以获得定制的功能集。它也允许交叉编译,详情请查看 compilation。
目录结构
下面是安装后的目录结构。
bin kuiperd kuiper etc ... data ... plugins ... log ...
bin
bin
目录包括所有的可执行文件。例如,ekuiper 服务器 kuiperd
和 cli 客户端 kuiper
。
etc
etc
目录包含 eKuiper 的默认配置文件。如全局配置文件 kuiper.yaml
和所有源配置文件,如mqtt_source.yaml
。
data
这个文件夹保存了流和规则的持久定义。它还包含任何用户定义的配置。
plugin
eKuiper 允许用户开发你自己的插件,并将这些插件放入这个文件夹。关于如何扩展eKuiper,请参见extension,了解更多信息。
log
所有的日志文件都在这个文件夹下。默认的日志文件名是stream.log
。