centos安裝rabbitmq


RabbitMQ是流行的開源消息隊列系統,是AMQP(Advanced Message Queuing Protocol高級消息隊列協議)的標准實現,用erlang語言開發。RabbitMQ據說具有良好的性能和時效性,同時還能夠非常好的支持集群和負載部署,非常適合在較大規模的分布式系統中使用,具體特性還在驗證中,待檢驗。由於項目需要,安裝並配置了RabbitMQ,服務器操作系統是CentOS7。

v基礎知識

什么是消息隊列(Message Queue)?

消息(Message)

網絡中的兩台計算機或者兩個通訊設備之間傳遞的數據。例如說:文本、音樂、視頻等內容。

隊列(Queue)

一種特殊的線性表(數據元素首尾相接),特殊之處在於只允許在首部刪除元素和在尾部追加元素。入隊、出隊。

消息隊列(MQ)

消息+隊列,保存消息的隊列。消息的傳輸過程中的容器;主要提供生產、消費接口供外部調用做數據的存儲和獲取。

MQ分類

MQ主要分為兩類:點對點(p2p)、發布訂閱(Pub/Sub)

共同點:

消息生產者生產消息發送到queue中,然后消息消費者從queue中讀取並且消費消息。

不同點:

p2p模型包括:消息隊列(Queue)、發送者(Sender)、接收者(Receiver)

一個生產者生產的消息只有一個消費者(Consumer)(即一旦被消費,消息就不在消息隊列中)。比如說打電話。

Pub/Sub包含:消息隊列(Queue)、主題(Topic)、發布者(Publisher)、訂閱者(Subscriber)。每個消息可以有多個消費者,彼此互不影響。比如我發布一個微博:關注我的人都能夠看到。

那么在大數據領域呢,為了滿足日益增長的數據量,也有一款可以滿足百萬級別消息的生成和消費,分布式、持久穩定的產品——RabbitMQ。

v安裝依賴項

RabbitMQ使用erlang語言開發,所以我們首先安裝erlang.

rpm -Uvh http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el7.centos.x86_64.rpm

centos安裝rabbitmq

RabbitMQ是基於erlang的,所以RabbitMQ和erlang版本要對應,要不然有可能安裝失敗。 RabbitMQ Erlang Version Requirements — RabbitMQ

vInstall RabbitMQ-Server

rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm

centos安裝rabbitmq

安裝好了之后,驗證是否安裝成功。rpm -qa|grep rabbitmq

centos安裝rabbitmq

啟動MQ:service rabbitmq-server start

重啟MQ:service rabbitmq-server restart

關閉MQ:service rabbitmq-server stop

查看狀態:rabbitmqctl status

v維護插件

先啟動MQ,然后安裝維護插件。rabbitmq-plugins enable rabbitmq_management

這個命令的作用是安裝RabbitMq的一個管理插件

查看安裝的插件rabbitmq-plugins list

centos安裝rabbitmq

安裝好了以后就可以通過在瀏覽器訪問 http://ip:15672進入一個管理界面。

centos安裝rabbitmq

v遠程訪問

這時候登錄會提示login failed

需要開啟遠程訪問授權。

cd /etc/rabbitmq

cp /usr/share/doc/rabbitmq-server-3.5.6/rabbitmq.config.example /etc/rabbitmq/

mv rabbitmq.config.example rabbitmq.config

vim /etc/rabbitmq/rabbitmq.config

在rabbitmq.config中添加 {loopback_users, []}

centos安裝rabbitmq

用戶名和密碼默認都是guest,登錄后顯示如下:

centos安裝rabbitmq

關於RabbitMQ Management更多介紹,可以看看這里。 SpringBoot(二十三)集成RabbitMQ---淺談RabbitMQ Management

v用戶管理

新增一個用戶 rabbitmqctl add_user Username Password

設置admin rabbitmqctl set_user_tags Username administrator

用戶角色大致可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他。

超級管理員(administrator):

可登陸管理控制台(啟用management plugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作。

監控者(monitoring)

可登陸管理控制台(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)

策略制定者(policymaker)

可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。與administrator的對比,administrator能看到這些內容

普通管理者(management)

僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。

其他

無法登陸管理控制台,通常就是普通的生產者和消費者。

刪除一個用戶 rabbitmqctl delete_user Username

修改用戶的密碼 rabbitmqctl change_password Username Newpassword

查看當前用戶列表 rabbitmqctl list_users

 

其他參考資料:


作  者:請叫我頭頭哥
出  處:http://www.cnblogs.com/toutou/
關於作者:專注於基礎平台的項目開發。如有問題或建議,請多多賜教!
版權聲明:本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
特此聲明:所有評論和私信都會在第一時間回復。也歡迎園子的大大們指正錯誤,共同進步。或者直接私信
聲援博主:如果您覺得文章對您有幫助,可以點擊文章右下角推薦一下。您的鼓勵是作者堅持原創和持續寫作的最大動力!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM