您好,登錄后才能下訂單哦!
本人安裝的rabbitmq環(huán)境相關(guān)文件,可在本人提供的百度云盤資源進(jìn)行下載。
鏈接:https://pan.baidu.com/s/1bnofK3l 密碼:whdm
消息隊(duì)列又稱為MQ,應(yīng)用程序間的消息通信工具,其有利于程序解耦、多語言集成、異步通信、擴(kuò)展和簡單負(fù)載均衡等,是生產(chǎn)-消費(fèi)者模型的典型代表。常見MQ產(chǎn)品有RabbitMQ ZeroMQ Kafka等等。
RabbitMQ,老牌MQ產(chǎn)品,基于erlang語言,實(shí)現(xiàn)對AMQP等協(xié)議的支持,重量級,適合企業(yè)級應(yīng)用開發(fā);
Kafka,linkedin開源MQ產(chǎn)品,追求高吞吐量,適合于大量數(shù)據(jù)的收集業(yè)務(wù),如互聯(lián)網(wǎng)業(yè)務(wù)產(chǎn)生的大量日志數(shù)據(jù);
ZeroMQ,號稱最快的MQ,提供了一套異步消息通信庫,可實(shí)現(xiàn)RabbitMQ不能實(shí)現(xiàn)的高級復(fù)雜隊(duì)列;
Kafka和RabbitMQ都需要搭建消息代理服務(wù)器,采用中間件模式。ZeroMQ采用非中間件模式,不需要搭建消息代理服務(wù)器;
接下來的一段時(shí)間,我會把主要的業(yè)余時(shí)間花費(fèi)在研究這幾款MQ產(chǎn)品之上,暫時(shí)水平有限,關(guān)于它們的具體的使用場景與差異,還需要一點(diǎn)一點(diǎn)研究。今天先上一篇簡單的RabbitMQ安裝教程,系統(tǒng)為centos7。
RabbitMQ采用erlang語言實(shí)現(xiàn)。erlang是一門被設(shè)計(jì)用來編寫并發(fā)、實(shí)時(shí)、分布式系統(tǒng)的新語言,原本是為了電話交換機(jī)開發(fā)的語言。下面源碼編譯安裝。
1. 下載源碼
http://www.erlang.org/download.html 下載最新版的erlang安裝包。
2. 解壓安裝
$ tar xvf otp_src_19.1.tar.gz
$ ./configure --prefix=/usr/local/erlang --without-javac
$ make
$ make install
3. 配置環(huán)境變量
在/etc/profile.d/下新建erlang.sh
$ vim /etc/profile.d/erlang.sh
加入如下內(nèi)容:
PATH=$PATH:/usr/local/erlang/bin
export PATH
如下使環(huán)境變量生效
$ source /etc/profile.d/erlang.sh
4. 簡單體驗(yàn)
Hello World程序體驗(yàn):
$ vim hello.erl
%% HellWorld example
%% We define a module called foo
-module(hello).
%% Export the function print that has 0 arguments
-export([print/0]).
print() ->
io:format("Hello World!~n").
$ erlc hello.erl // 編譯
$ erl // 交互命令行模式執(zhí)行
效果如下:
實(shí)驗(yàn)成功!
1. 安裝依賴項(xiàng)
每個人的系統(tǒng)默認(rèn)有些軟件已經(jīng)安裝,本人這里需要安裝三個依賴項(xiàng)
$ yum install -y libxslt rsync zip
2. 下載rabbitmq二進(jìn)制包
$ cd /usr/local
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5.tar.xz
3. 安裝
使用二進(jìn)制包安裝很輕松,如下:
$ cd /usr/local/
$ tar Jxvf rabbitmq-server-3.6.5.tar.xz -C .
$ ln -s rabbitmq_server-3.6.5 rabbitmq
rabbit安裝目錄為/usr/local/rabbitmq
4. 配置環(huán)境變量
在/etc/profile.d/新建rabbitmq.sh
$ vim /etc/profile.d/rabbitmq.sh
添加如下內(nèi)容:
PATH=$PATH:/usr/local/rabbitmq/sbin
export PATH
如下使環(huán)境變量生效
$ source /etc/profile.d/rabbitmq.sh
5. 關(guān)于rabbitmq操作
a. 啟動
前臺運(yùn)行:
$ rabbitmq-server
后臺運(yùn)行:
$ rabbitmq-server -detached
b. 關(guān)閉
$ rabbitmqctl stop
c. 查看狀態(tài)
$ rabbitmqctl status
RabbitMQ提供了一套插件機(jī)制,方便功能擴(kuò)展。這里介紹一個最常用插件rabbitmq_management。這款插件提供了完善的管理和監(jiān)控功能,提供了各項(xiàng)指標(biāo),具體會在之后文章介紹。首先體驗(yàn)一下,如下方法開啟。
1.啟用插件
通過rabbitmq-plugin管理插件,啟用rabbitmq_management插件方法如下:
$ rabbitmq-plugins enable rabbitmq_management
此時(shí)使用默認(rèn)用戶guest、密碼guest,即可登錄訪問http://localhost:15672。但此時(shí)無法遠(yuǎn)程訪問,但實(shí)際場景多為遠(yuǎn)程。
下面解決遠(yuǎn)程訪問問題:
2. 確認(rèn)關(guān)閉防火墻
如無法遠(yuǎn)程登錄訪問http://host:15672,請確認(rèn)防火墻已關(guān)閉。本人系統(tǒng)防火墻已開啟,關(guān)閉方法如下:
$ iptables -F
本人系統(tǒng)centos7,不同系統(tǒng)的機(jī)制需自己確認(rèn)。
3. 環(huán)境變量
RabbitMQ三種環(huán)境變量:
》系統(tǒng)內(nèi)置
》rabbitmq-env.conf設(shè)定變量
》shell環(huán)境變量
優(yōu)先級: shell環(huán)境變量 > rabbit-env.conf > 系統(tǒng)內(nèi)置
此處通過rabbit-env.conf設(shè)定,RabbitMQ安裝目錄下etc/rabbitmq/rabbitmq-env.conf:
$ cd /usr/local/rabbitmq/
$ vim etc/rabbitmq/rabbitmq-env.conf
如下指定rabbitmq配置文件:
RABBITMQ_CONFIG_FILE=/usr/local/rabbitmq/etc/rabbitmq/rabbitmq
上述環(huán)境變量指定rabbitmq配置文件,需添加后綴.config,即真實(shí)文件為/usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config:
4. 配置遠(yuǎn)程訪問
關(guān)于啟用guest遠(yuǎn)程訪問權(quán)限,官網(wǎng)http://www.rabbitmq.com/access-control.html,有如下一段話:
按此要求修改RabbitMQ配置文件,如下:
$ vim etc/rabbitmq/rabbitmq.config
添加如下內(nèi)容:
[{rabbit, [
{tcp_listeners, [5672]},
{loopback_users, []}
]}].
此時(shí),訪問http://remote_ip:15672,如下:
默認(rèn)的用戶名guest、密碼guest,登錄進(jìn)入效果如下:
上面就是RabbitMQ運(yùn)行時(shí)狀態(tài)的總覽信息。
到此,RabbitMQ安裝一切OK!
關(guān)于RabbitMQ的簡單安裝就這么多,具體配置、使用與監(jiān)控等更系統(tǒng)技能和其他MQ相關(guān)知識只能待續(xù)嘍 ...
參考文檔:
關(guān)于Erlang入門
http://www.erlang.org/downloads
http://www.csdn.net/article/2015-10-26/2826038-Erlang
http://www.csdn.net/article/2015-10-26/2826038-Erlang
關(guān)于mq
http://www.rabbitmq.com/access-control.html
http://www.infoq.com/cn/articles/kafka-analysis-part-1/
https://www.zhihu.com/question/22480085
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。