Skip to content

fmq集群部署 ​

1. FMQ服务部署 ​

复制部署文件 ​

将 fmq 文件夹复制到 **opt**文件夹下,然后执行命令

sh
chmod u+x permission.sh

授权 .sh 文件

执行 permission.sh文件 ,授权其他文件和目录

sh
./permission.sh

修改springBoot配置文件 ​

定位路径 opt\fmq\application.yml

使用内网IP地址,配置集群的本地IP,和集群IP

yaml
localAddress: 1x.x.x.x
static-ip-addresses: 1x.x.x.x, 1x.x.x.xx

修改kafka服务地址 bootstrap-servers

yml
  kafka:
    broker-enabled: true   # 是否启用kafka消息桥接
    bootstrap-servers: 127.0.0.1:9092    # kafka地址 127.0.0.1:9092,127.0.0.1:9093
    producer:
      acks: -1      # acks回令 如果必须等待回令,那么设置acks为all,否则,设置为-1,等待回令会有性能损耗
      retries: 3    # 重试次数
      batch-size: 16384      # 批量提交大小
      buffer-memory: 33554432   # 缓存大小
      key-serializer: org.apache.kafka.common.serialization.StringSerializer  #序列化方式
      value-serializer: org.apache.kafka.common.serialization.StringSerializer #序列化方式
      partitioner:
        class: cn.fastbee.iot.store.kafaka.MqttPartitioner
    message-bridge: # kafka消息桥接转发的主题
      bridge-topics:
        - "property_post"
      enable: true

修改webHook的认证地址

yaml
 webhook-url: http://127.0.0.1:18083/webhook

项目打包 ​

修改 fmq-application 对应的 pom文件

放开这里注释,更新maven

xml
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>application.yml</exclude>
                    <exclude>application-dev.yml</exclude>
                </excludes>
            </resource>
        </resources>

在IDEA中,执行 package

项目打包截图

完成后将 fmq-application.jar 复制至 opt/fmq 目录下

创建 Systemd 服务方式(推荐) ​

执行 fmq-system-register.sh

sh
./fmq-system-register.sh

使用系统命令启动服务

sh
systemctl start fmq

查看服务状态

sh
systemctl status fmq

停止服务

sh
systemctl stop fmq

直接运行方式 ​

执行 fmq-start.sh

sh
./fmq-start.sh start

停止

sh
./fmq-start.sh stop

注意!!其他节点部署,先修改springBoot配置文件 ​

yaml
localAddress: 1x.x.x.x
static-ip-addresses: 1x.x.x.x, 1x.x.x.xx

2. 集群验证 ​

部署完成后,打开 http://ip:18083 登录 fmq的可视化页面 首页 -> 节点

集群验证页面截图

可以看到前面两个节点

3. 常见问题 ​

3.1. 节点启动后在可视化页面看不到其他节点? ​

检查各节点 application.yml 中的 localAddress 是否为本机内网 IP、static-ip-addresses 是否包含全部集群节点 IP,并确认节点间内网端口互通、无防火墙拦截。

3.2. 启动脚本提示权限不足? ​

先在 fmq 目录执行 chmod u+x permission.sh 并运行 ./permission.sh 完成授权,再使用 fmq-start.sh 或 systemd 方式启动。

3.3. 启用 Kafka 桥接后消息没有转发? ​

确认 bootstrap-servers 地址可达、message-bridge.enable 为 true,并检查 bridge-topics 中的主题名与实际上报主题(如 property_post)一致。

蜂信物联 | fastbee.cn