安装erlang及emqtt_bench

由于想使用EMQ提供的测试工具emqtt_bench,所以要安装emqtt_bench,又因为emqtt_bench是用erlang语言写的,所以首先需要安装erlang。
一,安装erlang
在mac上安装erlang最简单的办法是使用brew命令安装:
brew install erlang
我当时用这个命令安装的erlang版本是21号版本,在后续编译 emqtt-bench的时候,提示需要22号以上的版本,但是执行brew search erlang命令后,发现brew上最新的就是21号版本,所以只能手动下载erlang安装了。
1.下载
erlang下载地址:http://erlang.org/download/
我下载的是这个包:otp_src_22.0-rc1.tar.gz,总共两百多兆,用了大约10分钟的时间下载吧。
2.解压
在下载文件夹中双击otp_src_22.0-rc1.tar.gz进行解压
3.在终端cd到解压后的文件夹otp_src_22.0
4.执行命令./configure
5.执行命令make
6.执行命令sudo make install
这样erlang就安装好了,在终端中输入erl可以看到erlang的版本,进入erlang的编辑环境

Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe] [dtrace]

Eshell V10.4.4  (abort with ^G)
1> 

其实后来因为解决别的问题升级了一下brew,再去执行brew search erlang的时候可以看到安装的22号版本,我猜升级brew之后有可能能用brew install erlang可以下载到22号版本。

二,安装emqtt_bench
emqtt_bench git地址:https://github.com/emqx/emqtt-bench
1.在终端的某个创建好的文件夹下git clone一下emqtt_bench
2.cd到emqtt_bench目录下
3.执行命令make
我再这步的时候报错:Package getopt-v1.0.1 not found,就是在编译的过程中要这个依赖包,但是rebar3又找不到这个包下载不到。后来升级了brew:brew update,结果提示rebar3 outdated,然后执行命令brew upgrade rebar3,升级完rebar3之后再次执行make,输出如下,编译成功了。

===> Verifying dependencies...

===> Fetching emqtt (from {git,"[https://github.com/emqx/emqtt.git",{branch,"master"}})](https://github.com/emqx/emqtt.git%22,%7Bbranch,%22master%22%7D%7D))

===> Fetching getopt v1.0.1

===> Downloaded package, caching at /Users/lihong/.cache/rebar3/hex/hexpm/packages/getopt-1.0.1.tar

===> Compiling getopt

===> Compiling emqtt

===> Compiling emqtt_bench

===> Building escript…

然后就可以输入命令测试了:
_build/default/bin/emqtt_bench sub -h 192.168.64.82 -p 1883 -u user@0 -t /message/medchart/default/0 -c 100

具体的参数可以使用 _build/default/bin/emqtt_bench sub -help进行查询。

由于项目中需要传入clintid,所以需要改动一下源码,加入clintid,重新编译一下就可以了。

你可能感兴趣的:(安装erlang及emqtt_bench)