CentOS erlang安裝、emqtt_benchmark配置
由於想對EMQTT進行壓力測試,所有使用了官方推薦的emqtt_benchmark測試,但一解壓就出現了問題。
[[email protected] bak]# cd emqtt_benchmark/
[[email protected] emqtt_benchmark]# ls
CHANGELOG.md emqtt_bench_pub emqtt_bench_sub LICENSE Makefile README.md rebar rebar.config src
[[email protected] emqtt_benchmark-master]# make
/usr/bin/env: escript: No such file or directory
make: *** [get-deps] Error 127
- 1
- 2
- 3
- 4
- 5
- 6
網上檢視escrpt是erlang的一種高階特性,所以需要先安裝Erlang,先安裝的是otp_src_R14B04,但執行emqtt_benchmark時一起報錯,後更新為otp_src_18配置成功。
安裝erlang
如果未安裝以後程式,請先安裝依賴
$sudo yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8 .0-openjdk-devel git
- 1
wget http://erlang.org/download/otp_src_18.3.tar.gz
tar zxvf otp_src_18.tar.gz#(解壓)
cd otp_src_18.3/ #(進入到解壓好的資料夾中)
- 1
- 2
- 3
編譯安裝
./configure --prefix=/home/erlang(指定安裝目錄)
make(編譯)
make install(安裝)
- 1
- 2
- 3
配置環境變數
更新環境變數
vim /etc/profile
- 1
在最後一行加上
export PATH=/home/erlang/bin:$PATH
- 1
儲存退出後
source /etc/profile
- 1
或者
新增系統環境變數
export PATH=$PATH:/home/erlang/bin
- 1
檢視環境變數:
echo $PATH
- 1
驗證erlang
命令列中輸入erl看是否安裝成功!
[root@iZuf6ixy03u72vzno4jsiuZ bak]# erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
- 1
- 2
- 3
- 4
- 5
驗證emqtt_benchmark
[[email protected] emqtt_benchmark-master]# make
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/emqttc to be an app dir (containing ebin/*.app), but no .app found.
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/getopt to be an app dir (containing ebin/*.app), but no .app found.
==> emqtt_benchmark-master (get-deps)
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/emqttc to be an app dir (containing ebin/*.app), but no .app found.
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/getopt to be an app dir (containing ebin/*.app), but no .app found.
Pulling emqttc from {git,"git://github.com/emqtt/emqttc.git",
{branch,"master"}}
Cloning into 'emqttc'...
Pulling getopt from {git,"https://github.com/jcomellas/getopt.git",
{branch,"master"}}
Cloning into 'getopt'...
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/gen_logger to be an app dir (containing ebin/*.app), but no .app found.
==> emqttc (get-deps)
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/gen_logger to be an app dir (containing ebin/*.app), but no .app found.
Pulling gen_logger from {git,"https://github.com/emqtt/gen_logger.git",
{branch,"master"}}
Cloning into 'gen_logger'...
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/lager to be an app dir (containing ebin/*.app), but no .app found.
==> gen_logger (get-deps)
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/lager to be an app dir (containing ebin/*.app), but no .app found.
Pulling lager from {git,"https://github.com/basho/lager.git",
{branch,"master"}}
Cloning into 'lager'...
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/goldrush to be an app dir (containing ebin/*.app), but no .app found.
==> lager (get-deps)
WARN: Expected /chroot/www/bak/emqtt_benchmark-master/deps/goldrush to be an app dir (containing ebin/*.app), but no .app found.
Pulling goldrush from {git,"https://github.com/basho/goldrush.git",
{tag,"0.1.9"}}
Cloning into 'goldrush'...
==> goldrush (get-deps)
==> getopt (get-deps)
==> goldrush (compile)
Compiled src/gr_param.erl
Compiled src/gr_counter_sup.erl
Compiled src/glc_ops.erl
Compiled src/gr_app.erl
Compiled src/gr_param_sup.erl
Compiled src/glc_run.erl
Compiled src/gre.erl
Compiled src/gr_sup.erl
Compiled src/gr_manager.erl
Compiled src/gr_context.erl
Compiled src/gr_manager_sup.erl
Compiled src/gr_counter.erl
Compiled src/glc_lib.erl
Compiled src/glc.erl
Compiled src/glc_code.erl
==> lager (compile)
Compiled src/lager_util.erl
Compiled src/lager_transform.erl
Compiled src/lager_backend_throttle.erl
Compiled src/lager_handler_watcher_sup.erl
Compiled src/lager_crash_log.erl
Compiled src/lager_format.erl
Compiled src/lager_sup.erl
Compiled src/lager_file_backend.erl
Compiled src/lager_manager_killer.erl
Compiled src/error_logger_lager_h.erl
Compiled src/lager_msg.erl
Compiled src/lager_default_formatter.erl
Compiled src/lager_common_test_backend.erl
Compiled src/lager_console_backend.erl
Compiled src/lager_trunc_io.erl
Compiled src/lager_handler_watcher.erl
Compiled src/lager_config.erl
Compiled src/lager_app.erl
Compiled src/lager.erl
Compiled src/lager_stdlib.erl
==> gen_logger (compile)
Compiled src/gen_logger.erl
Compiled src/error_logger_logger.erl
Compiled src/console_logger.erl
Compiled src/lager_logger.erl
==> emqttc (compile)
Compiled src/emqttc_reconnector.erl
Compiled src/emqttc_message.erl
Compiled src/emqttc_serialiser.erl
Compiled src/emqttc_socket.erl
Compiled src/emqttc_parser.erl
Compiled src/emqttc_opts.erl
Compiled src/emqttc_protocol.erl
Compiled src/emqttc_keepalive.erl
Compiled src/emqttc_packet.erl
Compiled src/emqttc_topic.erl
/chroot/www/bak/emqtt_benchmark-master/deps/emqttc/src/emqttc.erl:658: Warning: variable 'Logger' is unused
/chroot/www/bak/emqtt_benchmark-master/deps/emqttc/src/emqttc.erl:658: Warning: variable 'Name' is unused
Compiled src/emqttc.erl
==> getopt (compile)
Compiled src/getopt.erl
==> emqtt_benchmark-master (compile)
Compiled src/emqtt_benchmark.erl
==> emqtt_benchmark-master (xref)
[[email protected] emqtt_benchmark-master]# ./emqtt_bench_sub --help
Usage: emqtt_bench_sub [--help <help>] [-h [<host>]] [-p [<port>]]
[-c [<count>]] [-n [<startnumber>]]
[-i [<interval>]] [-t <topic>] [-q [<qos>]]
[-u <username>] [-P <password>] [-k [<keepalive>]]
[-C [<clean>]] [-S [<ssl>]]
[--certfile <certfile>] [--keyfile <keyfile>]
[--ifaddr <ifaddr>]
--help help information
-h, --host mqtt server hostname or IP address [default:
localhost]
-p, --port mqtt server port number [default: 1883]
-c, --count max count of clients [default: 200]
-n, --startnumber start number [default: 0]
-i, --interval interval of connecting to the broker [default: 10]
-t, --topic topic subscribe, support %u, %c, %i variables
-q, --qos subscribe qos [default: 0]
-u, --username username for connecting to server
-P, --password password for connecting to server
-k, --keepalive keep alive in seconds [default: 300]
-C, --clean clean session [default: true]
-S, --ssl ssl socoket for connecting to server [default: false]
--certfile client certificate for authentication, if required by
server
--keyfile client private key for authentication, if required by
server
--ifaddr local ipaddress or interface address
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
什麼是Erlang
Erlang([‘ə:læŋ])是一種通用的面向併發的程式語言,它由瑞典電信裝置製造商愛立信所轄的CS-Lab開發,目的是創造一種可以應對大規模併發活動的程式語言和執行環境。Erlang問世於1987年,經過十年的發展,於1998年釋出開源版本。Erlang是運行於虛擬機器的解釋性語言,但是現在也包含有烏普薩拉大學高效能Erlang計劃(HiPE)開發的原生代碼編譯器,自R11B-4版本開始,Erlang也開始支援指令碼式直譯器。在程式設計範型上,Erlang屬於多重範型程式語言,涵蓋函式式、併發式及分散式。順序執行的Erlang是一個及早求值, 單次賦值和動態型別的函數語言程式設計語言。
Erlang是一個結構化,動態型別程式語言,內建平行計算支援。最初是由愛立信專門為通訊應用設計的,比如控制交換機或者變換協議等,因此非常適 合於構建分散式,實時軟平行計算系統。使用Erlang編寫出的應用執行時通常由成千上萬個輕量級程序組成,並通過訊息傳遞相互通訊。程序間上下文切換對於Erlang來說僅僅 只是一兩個環節,比起C程式的執行緒切換要高效得多得多了。
使用Erlang來編寫分散式應用要簡單的多,因為它的分散式機制是透明的:對於程式來說並不知道自己是在分散式執行。Erlang執行時環境是一個虛擬機器,有點像Java虛擬機器,這樣程式碼一經編譯,同樣可以隨處執行。它的執行時系統甚至允許程式碼在不被中斷 的情況下更新。另外如果需要更高效的話,位元組程式碼也可以編譯成原生代碼執行。
相關推薦
CentOS erlang安裝、emqtt_benchmark配置
由於想對EMQTT進行壓力測試,所有使用了官方推薦的emqtt_benchmark測試,但一解壓就出現了問題。[[email protected] bak]# cd emqtt_benchmark/ [[email protected] emqtt_benchmark]# ls CHANG
Linux CentOS下安裝、配置mysql數據庫
config 得到 操作 program except naconda 服務端 強力 fig 假設要在Linux上做j2ee開發。首先得搭建好j2ee的開發環境。包含了jdk、tomcat、eclipse的安裝(這個在之前的一篇隨筆中已經有具體解說了Linux學習之Ce
CentOS 7 安裝、配置JDK-10
1、下載JDK-10 選擇對應Linux版本的tar.gz 官網連結 複製到Centos中的Download目錄下 2、解除安裝預裝的OpenJDK 檢視自帶OpenJDK及相關檔案 java -version 查詢帶有java字串的檔案 rpm -qa
CentOS 7 安裝、配置、使用 PostgreSQL 10 安裝及基礎配置
install the server packages: yum install postgresql10-server 此時在/usr/下多了pgsql-10目錄 關於安裝的幾個軟體的介紹: postgresql-client libraries and
Centos 7 安裝、配置並啟動SSH遠端訪問
1.檢視SSH是否安裝:[[email protected] ~]# rpm -qa | grep ssh上圖說明了 centos 7 預設安裝了SSH包2.安裝缺失的包、並配置SSH:[[e
CentOS下eclipse安裝、maven配置
一、安裝maven 上傳三個檔案 安裝maven 解壓:tar -zxf apache-maven-3.0.5-bin.tar.gz -C /opt/modules/ 轉到maven目錄:
Centos下安裝JDK環境配置
too nbsp java tail 使用 服務 卸載 linu rep 一、linux服務器遠程連接工具安裝準備 a、下載Xshell http://rj.baidu.com/soft/detail/15201.html?ald b、下載xftp
SpringMVC插件安裝、環境配置及快速入門
應用 pre spring 包含 tro quest patch ava dispatch SpringMVC 是現在廣泛應用的框架結構,我也只是一個初學者,一遍學習一遍梳理整合,如有錯誤,希望大神指點,別誤人。 MVC :Model-View-Control 框架性質的C
windows系統下nodejs安裝、環境配置及刪除NPM全局配置
例如 參考 -h clas shel fcm gpe tar tortoise nodejs安裝及設置NPM全局路徑 刪除NPM全局路徑配置 一、nodejs安裝及設置NPM全局路徑 第一步:下載安裝文件 下載nodejs,官網:http://nodejs.org/do
NFS 安裝、使用配置
etc 限制 chm 建議 isp color 讀寫 yum安裝 文件 NFS簡介 NFS允許一個系統在網絡上與他人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠程系統上的文件。 安裝NFS 服務端安裝 NFS安裝包:nfs-utils-
CentOS 7安裝後的配置
net shu www -m rest 我們 重啟 name AR 一、設置IP地址、網關DNS 說明:CentOS 7.x默認安裝好之後是沒有自動開啟網絡連接的,所 以需要我們自己配置。 在命令行輸入#vi /etc/sysconfig/network-
Hadoop HDFS安裝、環境配置
dfs- 宋體 name xftp hadoop export 配置環境 lib bin hadoop安裝 進入Xftp將hadoop-2.7.3.tar.gz 復制到自己的虛擬機系統下的放軟件的地方,我的是/soft/software 在虛擬機系統裝軟件文件裏,進行
【Java】Maven安裝、Eclipse配置以及相關錯誤解決集合
文件 格式 setting BYD cksum runt 文件編碼 原因 完成後 作者嘔血總結,下面寫的每一個錯誤我都遇過 · Maven安裝 · Eclipse配置 · Maven安裝 安裝前請確保已經裝有JDK。 一、 準備Maven程序包 到官網https
java開發環境搭建--jdk安裝、maven配置、Idea
安裝 JDK 下載安裝 首先開啟 Oracle 官網 JDK 1.8 下載頁面,根據下圖選擇下載各系統對應的版本,這裡以 Win10 64 位作業系統為例。 下載完成之後,雙擊滑鼠進行安裝,一直單擊“下一步”按鈕直至安裝完畢。 環境
ubuntu 16.04 系統安裝、環境配置
ubuntu 16.04 系統安裝、環境配置 注:文中很多內容是參考別人的部落格,都已註明出處,如果侵權,請私信。 初次寫部落格,這篇內容就屬性定義為原創了。 其實定義成原創很不好意思。所以隨便轉載吧。但請註明一下出處。 https://blog.csdn.net/qq_26
centos redis5 安裝 和 基本配置
1 下載 redis wget http://download.redis.io/releases/redis-5.0.0.tar.gz 2 解壓 tar xzf redis-5.0.0.tar.gz 3 編譯 cd redis-5.0.0 make 4 啟動
大資料入門:Hadoop安裝、環境配置及檢測
目錄 1.導包Hadoop包 2.配置環境變數 3.把winutil包拷貝到Hadoop bin目錄下 4.把Hadoop.dll放到system32下 5.檢測Hadoop是否正常安裝 5.1在maven專案中檢測,將配置檔案放入resource包下 5.2然後
CentOS nginx安裝、啟動、關閉
下載並安裝nginx # yum install nginx 預設的配置檔案在 /etc/nginx 路徑下 一般做法是,在本機把nginx.conf配置好再rz上傳上去 nginx.conf配置就不說了,百度一堆 nginx -t -c /etc/nginx/ngi
CentOS 7 安裝後基本配置
1、檢查環境 [[email protected] etc]# cat /etc/system-release CentOS Linux release 7.3.1611 (Core) 2、修改ip cd /etc/sysconfig/network-
Centos作業系統安裝及相關配置
1.將計算機的BIOS設定為光碟機引導,並插入CentOS-7光碟,正常情況會進入安裝頁面,如下: 2.選擇Test this media & install CentOS 7 3.等待載入完成進入歡迎介面。 4.選擇安裝過程所用的語言,我們可以選擇中文(簡體)