美文网首页
emqtt玩耍总结

emqtt玩耍总结

作者: 魂狩 | 来源:发表于2019-06-26 16:29 被阅读0次

Emqtt(现在叫做EMQ X Broker) 是基于高并发的 Erlang/OTP 语言平台开发的开源 MQTT 消息服务器。相对于linux自带的mosquitto消息服务器,Emqtt插件更丰富,功能更全一些。这里是部署Emqtt集群加上redis授权的步骤,集群方式依赖etcd服务。

安装

  1. 在官网下载emqtt安装包,直接安装deb包即可。
  2. 选择一个服务器安装etcd服务,直接apt安装或者官网下载二进制包。配置文件最少只需要以下几行即可:
name: 'default'
data-dir: '/opt/etcd/data'
listen-client-urls: http://0.0.0.0:2379
advertise-client-urls: http://0.0.0.0:2379
debug: false

etcd集群安装方式请参照文档。这一步其实可以跳过,使用广播方式或者手动方式组建集群。使用etcd的优势是方便扩展。

  1. 选择一个服务器安装redis服务,集群化安装可以参考之前写的文章
  2. 编辑emqtt的配置文件,一般是/etc/emqx/emqx.conf,修改集群相关信息:
cluster.name = bar
cluster.discovery = etcd
cluster.etcd.server = http://10.100.0.24:2379 #ip地址是etcd服务的地址
cluster.etcd.prefix = mqtt
node.name = emqx@10.100.0.25 #ip地址是当前节点的地址
  1. 编辑emqtt的redis插件配置文件,一般是/etc/emqx/plugins/emqx_auth_redis.conf,根据redis安装情况配置即可。
  2. 启用redis插件,这一步可以在dashboard中操作(默认开启,端口是18083,帐号admin,密码public),或者直接修改/var/lib/emqx/loaded_plugins文件,添加emqx_auth_redis.
  3. 重启emqtt服务,完成。

redis授权管理

  • hset mqtt_user:user password userspwd创建帐号user、密码userspwd的帐号。默认情况下相当于超级用户,可以监听所有。
  • hset mqtt_acl:user test/# 3设定帐号user的权限,只能发布、订阅test/#下的消息。其中1代表订阅,2代表发布,3代表订阅+发布。
  • hset mqtt_user:is_superuser 1设定帐号是超级用户,忽略acl里面的内容。

相关文章

网友评论

      本文标题:emqtt玩耍总结

      本文链接:https://www.haomeiwen.com/subject/cqaccctx.html