一、EMQ安装搭建
下载文件至:/opt/apps/emqttd-centos6.8-v2.3.11.zip
1.2,解压二进制包
[root@collect-node1 /]# cd /opt/apps
[root@collect-node1 apps]# unzip emqttd-centos6.8-v2.3.11.zip
1.3、创建外部日志、数据目录
[root@collect-node1 apps]# mkdir -p /mnt/disk1/emr-cluster
[root@collect-node1 apps]# cp -r emqttd/data/* /mnt/disk1/emq/ # 重要
1.4、基础配置(日志、数据目录,vim $EMQ_HOME/bin/emqttd)
[root@collect-node1 apps]# cd emqttd
[root@collect-node1 emqttd]# vim bin/emqttd
(使用 /data 搜索数据相关配置,使用 /log 搜索日志相关配置)
1.4.1 将 RUNNER_LOG_DIR=$RUNNER_ROOT_DIR/logs
改为 RUNNER_LOG_DIR=/mnt/disk1/log/emq
1.4.2 将RUNNER_DATA_DIR=$RUNNER_ROOT_DIR/data
改为 RUNNER_DATA_DIR=/mnt/disk1/emq/data
1.5、EMQ集群配置(集群策略、节点、日志目录等,vim $EMQ_HOME/etc/emq.conf)
[root@collect-node1 emqttd]# vim etc/emq.conf
将默认配置修改为:
## 集群相关配置
## Default: manual
cluster.discovery = static # 重要(因默认是mamual模式)
## Node list of the cluster.
cluster.static.seeds = emq@172.16.19.27,emq@172.16.19.28 # 这里使用ip最简单的方式,也可使用FQDN地址,EMQ节点命名规则,或见附件1
## Default: emqx@127.0.0.1
node.name = emqx@172.16.19.27 # 重要
## 日志相关配置
## Crash dump log file.
node.crash_dump = /mnt/disk1/log/emq/crash.dump
## Sets the log dir.
log.dir = /mnt/disk1/log/emq
## The file where error logs will be writed to.
log.error.file = /mnt/disk1/log/emq/error.log
## The file for crash log.
log.crash.file = /mnt/disk1/log/emq/crash.log
1.6、重启EMQ集群(每个节点)
[root@collect-node1 emqttd]# ./bin/emqttd restart
1.6.1、验证是否启动成功
[root@collect-node1 emqttd]# netstat -nlpt|grep 18
若看到如图附件2则说明启动成功,然后在浏览器访问控制台(可使用chrome代理内网访问):http://172.16.19.27:18083/#/
1.6.2、从EMQ控制台查看到集群所有节点,最终效果见附件3;
1.7、若在1.6.1中未启动成功,则将$EMQ_HOME/data目录拷贝至 /mnt/disk1/emq/data
(因为在此data目录中有一些emq启动必须加装项配置)
二、EMQ客户端(传感器/物联网设备)认证
step1:新增账号test
vim $EMQ_HOME/etc/plugins/emq_auth_username.conf
auth.user.1.username = admin
auth.user.1.password = public
auth.user.2.username = test
auth.user.2.password = test
step2:禁止匿名认证(重要)
vim $EMQ_HOME/etc/emq.conf
将 mqtt.allow_anonymous = true 改为 mqtt.allow_anonymous = false
step3:命令行加载emq_auth_username插件(也可以在Dashdoard/pugins启用加载,此插件对应 配置文件$EMQ_HOME/etc/plugins/emq_auth_username.conf )
sh $EMQ_HOME/bin/emqttd_ctl plugins load emq_auth_username
step4: 重启EMQ(貌似若restart后任不生效,则执行kill -9 然后启动即可)
sh $EMQ_HOME/bin/emqttd restart
附件1:

附件2:

附件3:

网友评论