EMQX 企业版安装

EMQX 消息服务器可跨平台运行在 Linux 服务器上。

EMQX License 文件获取

联系商务或登陆 https://www.emqx.com 注册账号获取免费的试用 License 文件

EMQX 程序包下载

EMQX 消息服务器每个版本会发布 CentOS、Ubuntu、Debian 平台程序包与 Docker 镜像。

下载地址: https://www.emqx.com/zh/downloads

CentOS

  • CentOS 7 (EL7)
  • CentOS 8 (EL8)

使用 rpm 包安装 EMQX

  1. 访问emqx.com安装 - 图1 (opens new window) 选择 CentOS 版本,然后下载要安装的 EMQX 版本的 rpm 包。

  2. 安装 EMQX

    1. $ sudo rpm -ivh emqx-ee-centos7-v4.0.0.x86_64.rpm
  3. 导入License文件:

    1. $ cp /path/to/emqx.lic /etc/emqx/emqx.lic
  4. 启动 EMQX

    • 直接启动

      1. $ emqx start
      2. emqx is started successfully!
      3. $ emqx_ctl status
      4. Node 'emqx@127.0.0.1' is started
      5. emqx 4.0.0 is running
    • systemctl 启动

      1. $ sudo systemctl start emqx
    • service 启动

      1. $ sudo service emqx start

使用 zip 包安装 EMQX

注意

ZIP包适用于测试和热更,如果不知道如何手动安装所有可能的运行时依赖,请勿在生产环境中使用

  1. 通过 emqx.com安装 - 图2 (opens new window) 选择 Centos 版本,然后下载要安装的 EMQX 版本的 zip 包。

  2. 解压程序包

    1. $ unzip emqx-ee-centos7-v4.0.0.zip
  3. 导入License文件:

    1. $ cp /path/to/emqx.lic /path/to/emqx/etc/emqx.lic
  4. 启动 EMQX

    1. $ ./bin/emqx start
    2. emqx v4.0.0 is started successfully!
    3. $ ./bin/emqx_ctl status
    4. Node 'emqx@127.0.0.1' is started
    5. emqx 4.0.0 is running

Ubuntu

  • Bionic 18.04 (LTS)
  • Xenial 16.04 (LTS)

使用 deb 包安装 EMQX

  1. 通过 emqx.com安装 - 图3 (opens new window) 选择 Ubuntu 版本,然后下载要安装的 EMQX 版本的 deb 包。

  2. 安装 EMQX

  1. # for ubuntu
  2. $ sudo apt install ./emqx-ee-ubuntu18.04-v3.1.0_amd64.deb
  3. # for debian
  4. $ sudo dpkg -i emqx-ee-ubuntu18.04-v3.1.0_amd64.deb
  1. 导入License文件:
  1. $ cp /path/to/emqx.lic /etc/emqx/emqx.lic
  1. 启动 EMQX
  • 直接启动
  1. $ emqx start
  2. emqx is started successfully!
  3. $ emqx_ctl status
  4. Node 'emqx@127.0.0.1' is started
  5. emqx 4.0.0 is running
  • systemctl 启动
  1. $ sudo systemctl start emqx
  • service 启动
  1. $ sudo service emqx start

使用 zip 包安装 EMQX

注意

ZIP包适用于测试和热更,如果不知道如何手动安装所有可能的运行时依赖,请勿在生产环境中使用

  1. 通过 emqx.com安装 - 图4 (opens new window) 选择 Ubuntu 版本,然后下载要安装的 EMQX 版本的 zip 包。

  2. 解压程序包

  1. $ unzip emqx-ee-ubuntu18.04-v4.0.0.zip
  1. 导入License文件:
  1. $ cp /path/to/emqx.lic /path/to/emqx/etc/emqx.lic
  1. 启动 EMQX
  1. $ ./bin/emqx start
  2. emqx v4.0.0 is started successfully!
  3. $ ./bin/emqx_ctl status
  4. Node 'emqx@127.0.0.1' is started
  5. emqx 4.0.0 is running

Debian

  • Debian 9
  • Debian 10

使用 deb 包安装 EMQX

  1. 通过 emqx.com安装 - 图5 (opens new window) 选择 Debian 版本,然后下载要安装的 EMQX 版本的 deb 包。

  2. 安装 EMQX

    1. # for ubuntu
    2. $ sudo apt install ./emqx-ee-debian9-v3.1.0_amd64.deb
    3. # for debian
    4. # 首先确保已安装 libodbc
    5. $ sudo dpkg -i emqx-ee-debian9-v3.1.0_amd64.deb
  3. 导入License文件:

    1. $ cp /path/to/emqx.lic /etc/emqx/emqx.lic
  4. 启动 EMQX

    • 直接启动

      1. $ emqx start
      2. emqx v4.0.0 is started successfully!
      3. $ emqx_ctl status
      4. Node 'emqx@127.0.0.1' is started
      5. emqx 4.0.0 is running
    • systemctl 启动

      1. $ sudo systemctl start emqx
    • service 启动

      1. $ sudo service emqx start

使用 zip 包安装 EMQX

注意

ZIP包适用于测试和热更,如果不知道如何手动安装所有可能的运行时依赖,请勿在生产环境中使用

  1. 通过 emqx.com安装 - 图6 (opens new window) 选择 Debian 版本,然后下载要安装的 EMQX 版本的 zip 包。

  2. 解压程序包

    1. $ unzip emqx-ee-debian9-v4.0.0.zip
  3. 导入License文件:

    1. $ cp /path/to/emqx.lic /path/to/emqx/etc/emqx.lic
  4. 启动 EMQX

    1. $ ./bin/emqx start
    2. emqx v4.0.0 is started successfully!
    3. $ ./bin/emqx_ctl status
    4. Node 'emqx@127.0.0.1' is started
    5. emqx 4.0.0 is running

macOS

使用 ZIP 包安装 EMQX

  1. 通过 emqx.com安装 - 图7 (opens new window) ,选择 EMQX 版本,然后下载要安装的 zip 包。

  2. 解压压缩包

    1. $ unzip emqx-ee-macos-v4.0.0.zip
  3. 导入License文件:

    1. $ cp /path/to/emqx.lic /path/to/emqx/etc/emqx.li
  4. 启动 EMQX

    1. $ ./bin/emqx start
    2. emqx v4.0.0 is started successfully!
    3. $ ./bin/emqx_ctl status
    4. Node 'emqx@127.0.0.1' is started
    5. emqx 4.0.0 is running

Docker

注意

由于 emqx 将数据存储在 data/mnesia/<节点名> 目录,所以在使用容器启动 emqx 的时候, 必须使用 hostname 或者 FQDN 来组建 emqx 的节点名。否则数据存储目录将发生切换,导致数据丢失。

启动单个容器

  1. 获取 docker 镜像
  1. $ docker pull emqx/emqx-ee:v4.0.0
  1. 启动 docker 容器
  1. $ docker run -d \
  2. --name emqx-ee \
  3. -p 8081:8081 \
  4. -p 1883:1883 \
  5. -p 8083:8083 \
  6. -p 8883:8883 \
  7. -p 8084:8084 \
  8. -p 18083:18083 \
  9. -v /path/to/emqx.lic:/opt/emqx/etc/emqx.lic \
  10. emqx/emqx-ee:v4.0.0

更多关于 EMQX Docker 的信息请查看 Docker Hub安装 - 图9 (opens new window)

使用 docker-compose 创建一个简单的静态集群

  1. 创建 docker-compose.yaml 文件

    1. version: '3'
    2. services:
    3. emqx1:
    4. image: emqx/emqx-ee:v4.0.0
    5. environment:
    6. - "EMQX_NAME=emqx"
    7. - "EMQX_HOST=node1.emqx.io"
    8. - "EMQX_CLUSTER__DISCOVERY=static"
    9. - "EMQX_CLUSTER__STATIC__SEEDS=emqx@node1.emqx.io, emqx@node2.emqx.io"
    10. volumes:
    11. - ./tmp/emqx.lic:/opt/emqx/etc/emqx.lic
    12. healthcheck:
    13. test: ["CMD", "/opt/emqx/bin/emqx_ctl", "status"]
    14. interval: 5s
    15. timeout: 25s
    16. retries: 5
    17. networks:
    18. emqx-bridge:
    19. aliases:
    20. - node1.emqx.io
    21. emqx2:
    22. image: emqx/emqx-ee:v4.0.0
    23. environment:
    24. - "EMQX_NAME=emqx"
    25. - "EMQX_HOST=node2.emqx.io"
    26. - "EMQX_CLUSTER__DISCOVERY=static"
    27. - "EMQX_CLUSTER__STATIC__SEEDS=emqx@node1.emqx.io, emqx@node2.emqx.io"
    28. volumes:
    29. - ./tmp/emqx.lic:/opt/emqx/etc/emqx.lic
    30. healthcheck:
    31. test: ["CMD", "/opt/emqx/bin/emqx_ctl", "status"]
    32. interval: 5s
    33. timeout: 25s
    34. retries: 5
    35. networks:
    36. emqx-bridge:
    37. aliases:
    38. - node2.emqx.io
    39. networks:
    40. emqx-bridge:
    41. driver: bridge
  2. 启动 docker-compose 集群

    1. $ docker-compose -p my_emqx up -d
  3. 查看 cluster

    1. $ docker exec -it my_emqx_emqx1_1 sh -c "emqx_ctl cluster status"
    2. Cluster status: #{running_nodes => ['emqx@node1.emqx.io','emqx@node2.emqx.io'],
    3. stopped_nodes => []}

关于 EMQX 企业版容器的更多信息,请参看 Docker Hub安装 - 图10 (opens new window)

使用 Helm 安装 EMQX 集群 (K8S、K3S)

  1. 添加 helm 仓库
  1. $ helm repo add emqx https://repos.emqx.io/charts
  2. $ helm repo update
  1. 查询 EMQX 仓库
  1. helm search repo emqx
  2. NAME CHART VERSION APP VERSION DESCRIPTION
  3. emqx/emqx v4.0.0 v4.0.0 A Helm chart for EMQX
  4. emqx/emqx-ee v4.0.0 v4.0.0 A Helm chart for EMQX
  5. emqx/kuiper 0.1.1 0.1.1 A lightweight IoT edge analytic software
  1. 启动 EMQX 集群
  1. $ helm install my-emqx emqx/emqx-ee
  1. 查看 EMQX 集群状态
  1. $ kubectl get pods
  2. NAME READY STATUS RESTARTS AGE
  3. my-emqx-0 1/1 Running 0 56s
  4. my-emqx-1 1/1 Running 0 40s
  5. my-emqx-2 1/1 Running 0 21s
  6. $ kubectl exec -it my-emqx-0 -- emqx_ctl cluster status
  7. Cluster status: #{running_nodes =>
  8. ['my-emqx@my-emqx-0.my-emqx-headless.default.svc.cluster.local',
  9. 'my-emqx@my-emqx-1.my-emqx-headless.default.svc.cluster.local',
  10. 'my-emqx@my-emqx-2.my-emqx-headless.default.svc.cluster.local'],
  11. stopped_nodes => []}