Moqbus环境:安装EMQ
1. emq简介
jbus物联网平台使用emq作为消息订阅/发布服务中间件。
EMQ X Broker 是基于高并发的 Erlang/OTP 语言平台开发,支持百万级连接和分布式集群架构,发布订阅模式的开源 MQTT 消息服务器。
EMQ X Broker 在全球物联网市场广泛应用。无论是产品原型设计、物联网创业公司、还是大规模的商业部署,EMQ X Broker 都支持开源免费使用。
官网:
https://www.emqx.io/cn/products/broker
2. 安装
官方建议部署在linux服务器。
官方文档:
https://docs.emqx.cn/cn/broker/latest/getting-started/install.html
3. 启动
官方文档:
https://docs.emqx.cn/cn/broker/latest/getting-started/start.html
4. 关联moqbus用户
为了使用jbus用户权限体系,可以通过emq的插件(emq_auth_mysql)关联jbus用户。
打开Dashboard,
当 EMQ X 成功运行在你的本地计算机上且 EMQ X Dashboard 被默认启用时,你可以访问 http://localhost:18083 来查看你的 Dashboard,默认用户名是 admin,密码是 public。
找到emq_auth_mysql插件,
进入插件设置(config),
auth.mysql.server:数据库服务器地址和端口
auth.mysql.username:数据库用户名(安全考虑,这里可以配置只读权限的用户)
auth.mysql.password:数据库用户密码
auth.mysql.database:数据库实例名
auth.mysql.auth_query:查询jbus用户密码脚本
select password from v_emq_user where username = '%u' limit 1
auth.mysql.super_query:查询是否超级用户
select is_superuser from v_emq_user where username = '%u' limit 1
auth.mysql.acl_query:查询jbus用户权限
select allow, ipaddr, username, clientid, access, topic from v_emq_acl where username = '%u'
其中, 视图 v_emq_user和v_emq_acl,在moqbus平台数据库中定义。该视图是moqbus用户/权限体系到emqx权限体系的映射。
5. 小结
以上,我们安装并运行了emq,并配置插件完成了用户和权限从emq->moqbus的映射。
MQTT/TCP 协议端口:1883
MQTT/WS 协议端口:8083
Dashboard地址:http://localhost:18083