3年前做了一个物联网系统,其中终端采用了stm32芯片,通过rs485接受各种传感器数据,通过mqtt 发送到 MQTT Server;然后web端从MQTT接受数据,处理展示,由于时间间隔较长,重新启动这套系统时,突然发现apollo mqtt 安装启动又有问题;故在此记录一番。
1 Java环境安装
由于apollo mqtt 的运行时基于java环境,故需要先安装java环境;
1.1 jdk下载,下载了个默认最新的 12.0.2 版本,链接如下:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
1.2 jdk安装
点击jdk安装,一路默认即可,安装完,突然发现,怎么没有jre安装了,立马百度了一下,原来最新的jdk里面已经包含了jre了,连忙在环境变量里设置好JAVA_HOME,CLASSPATH,PATH, 然后在命令行里通 输入java -version,如下,一切ok;
2 apollo mqtt 下载,突然发现官网上没有了下载的地方,后来查了好久,发现在 apache archive中,链接如下:
http://archive.apache.org/dist/activemq/activemq-apollo/1.7.1/
不禁怀疑,难道Apollo mqtt是要被取代了吗?
3 apollo mqtt 安装
直接解压到D盘, 然后以管理员方式启动cmd,进入apollo mqtt根目录
步骤1:cd D:\apache-apollo-1.7.1\bin //进入本地文件夹bin目录
步骤2:.\apollo.cmd create MqttBroker //创建本地的MqttBroker文件夹
步骤3:cd MqttBroker\bin //进入到MqttBroker文件夹
如果直接在控制台运行,直接启动apollo-broker.cmd
步骤4: apollo-broker.cmd run
若要以后台服务模式运行,如下
步骤4:.\apollo-broker-service install //安装服务
步骤5:.\apollo-broker-service start //启动服务
我是直接在控制台启动,结果发生了意外, 如下:
startup failed: java.lang.NoClassDefFoundError:javax/xml/bind/validationeventhandler
果断失败, 这些又得去百度一下,发现类似的问题都和jdk版本有关,于是果断换上jdk1.8版本,
果然可以正常运行了;
接下载直接可以在浏览器通过http://127.0.0.1:61680 访问