1. 程式人生 > >RabbitMQ 安裝配置與管理

RabbitMQ 安裝配置與管理

安裝

1.      安裝erlang虛擬機器

Rabbitmq基於erlang語言開發,所有需要安裝erlang虛擬機器

#tar zxvf otp_src_R15B01.tar.gz&& cd otp_src_R15B01

#./configure &&make install

2.      安裝rabbitmq server

#tar rabbitmq-server-generic-unix-2.8.2.tar.gz&& cd /rabbitmq-server-generic-unix-2.8.2

修改Makeifle ,新增以下引數,指定安裝目錄

SBIN_DIR = /usr/sbin

MAN_DIR = /usr/share/man

TARGET= /usr/lib/rabbitmq

最後

#make && makeinstall

注意:安裝指令碼最後會從一個網站上拉man手冊,有時連不上這個網站,安裝指令碼就會停住,這時可以Ctrl-c結束安裝程序,這時其實已經安裝完成只差man手冊。

配置

1.      配置檔案

Rabbitmq的配置檔案有三個,位於/etc/rabbitmq/,

這三個檔案分別是:

(1)enabled_plugins, 設定允許的外掛列表,該配置文件的格式為erlang的列表格式如

[rabbitmq_management,rabbitmq_visualiser].

(2)rabbitmq.conf,設定rabbitmq的執行引數。該配置檔案中的每個引數為一個erlang的 tuple,結構為{Key,Value}, Key為atom型別, Value為一個term。其中幾個關鍵引數為:

tcp_listerners  設定rabbimq的監聽埠,預設為[5672]。

disk_free_limit  磁碟低水位線,若磁碟容量低於指定值則停止接收資料,預設值為

{mem_relative, 1.0},即與記憶體相關聯1:1,也可定製為多少byte.

vm_memory_high_watermark,設定記憶體低水位線,若低於該水位線,則開啟流控機制,預設值是0.4,即記憶體總量的40%。

hipe_compile 將部分rabbimq程式碼用HighPerformance Erlang compiler編譯,可提升效能,該引數是實驗性,若出現erlang vm segfaults,應關掉。

force_fine_statistics, 該引數屬於rabbimq_management,若為true則進行精細化的統計,但會影響效能。

(3)rabbitmq-env.conf  rabbitmq的環境引數配置

RABBITMQ_NODE_PORT  埠設定,預設為5672

RABBITMQ_NODENAME   節點名稱,預設為rabbit

MNESIA_BASE 後端儲存目錄  ,預設為/var/lib/rabbitmq/mnesia

LOG_BASE 日誌目錄,預設為/var/log/rabbitmq/

2.      叢集配置

(1)手動配置

a)首先在每個節點上啟動RabbitMq

host1#rabbitmq-server-detached

host2#rabbitmq-server-detached

host3#rabbitmq-server-detached

此時每個節點自成叢集,每個叢集只有本節點

可以通過exportRABBITMQ_NAME=xxx 指定節點名稱,若不指定預設為rabbit

完整的節點名為[email protected]

b)加入叢集

讓host2 和host3上的rabbitmq節點加入到 host1的rabbitmq叢集

使用rabbitmqctl命令對rabbitmq進行操作

加入叢集前必須停止當前app,加入後在重啟app,過程如下:

host2#rabbitmqctlstop_app

host2#rabbitmqctlcluster [email protected]

host2#rabbitmqctlstart_app

host3#rabbitmqctlstop_app

host3#rabbitmqctlcluster [email protected]

host3#rabbitmqctlstart_app

關於節點型別(ram |disk)

ram節點的狀態儲存在記憶體中,disk節點儲存在磁碟中

被加入的節點為disk,如本例中[email protected]為disk節點,[email protected][email protected]為ram節點

可以通過rabbitmqctlcluster命令改變加入的叢集以及節點型別該命令後可以加多個節點名稱,指定的節點就會變成disk節點

如可以將本例中所有節點都改成disk節點

host2#rabbitmqctlstop_app

host2#rabbitmqctlreset

host2#rabbitmqctlcluster [email protected] [email protected]

host2#rabbitmqctlstart_app

host3#rabbitmqctlstop_app

host3#rabbitmqctlreset

host3#rabbitmqctlcluster [email protected] [email protected]

host3#rabbitmqctlstart_app

(2) 自動配置:

rabbitmq的預設配置指令碼為

/etc/rabbitmq/rabbitmq.conf

在其中新增

[

...

{rabbit, [

...

{cluster_nodes,['[email protected]', '[email protected]', '[email protected]']},

...

]},

...

].

分別啟動每個rabbitmq節點

rabbitmq-detached

rabbitmq就自動組成叢集了

注意事項:

1)每個節點的erlangcookie須相同,可以在啟動伺服器加–setcookie引數設定相同的引數,也可以在home目錄下設定相同的.erlang.cookie檔案。

2)節點間應該能相互解析,可以通過修改/etc/hosts檔案實現

管理

Rabbitmq伺服器的主要通過rabbitmqctl和rabbimq-plugins兩個工具來管理,以下是一些常用功能。

1.      伺服器啟動與關閉

啟動: rabbitmq-server –detached

關閉:rabbitmqctl stop

若單機有多個例項,則在rabbitmqctlh後加–n 指定名稱

2.      外掛管理

開啟某個外掛:rabbitmq-plugins enable xxx

關閉某個外掛:rabbitmq-plugins disable xxx

注意:重啟伺服器後生效。

3.      virtual_host 管理

新建virtual_host: rabbitmqctl add_vhost xxx

撤銷virtual_host:rabbitmqctl delete_vhost xxx

4.      使用者管理

新建使用者:rabbitmqctl add_user xxx pwd

刪除使用者:   rabbitmqctl delete_userxxx

改密碼: rabbimqctl change_password {username} {newpassword}

設定使用者角色:rabbitmqctl set_user_tags {username} {tag ...}

Tag可以為administrator, monitoring, management

Tag

Capabilities

(None)

No access to the management plugin

management

Anything the user could do via AMQP plus:

List virtual hosts to which they can log in via AMQP

View all queues, exchanges and bindings in "their" virtual hosts

View and close their own channels and connections

View "global" statistics covering all their virtual hosts, including activity by other users within them

monitoring

Everything "management" can plus:

List all virtual hosts, including ones they could not log in to via AMQP

View other users's connections and channels

View node-level data such as memory use and clustering

View truly global statistics for all virtual hosts

administrator

Everything "monitoring" can plus:

Create and delete virtual hosts

View, create and delete users

View, create and delete permissions

Close other users's connections

5.      許可權管理

許可權設定:set_permissions [-p vhostpath] {user} {conf} {write} {read}

Vhostpath

Vhost路徑

user

使用者名稱

Conf

一個正則表示式match哪些配置資源能夠被該使用者訪問。

Write

一個正則表示式match哪些配置資源能夠被該使用者讀。

Read

一個正則表示式match哪些配置資源能夠被該使用者訪問。

6.      獲取伺服器狀態資訊

伺服器狀態:rabbitmqctl status

佇列資訊:rabbitmqctl list_queues [-p vhostpath] [queueinfoitem ...]

Queueinfoitem可以為:name, durable,auto_delete,arguments,messages_ready,

messages_unacknowledged,messages,consumers,memory

Exchange資訊:rabbitmqctl list_exchanges [-p vhostpath][exchangeinfoitem ...]

Exchangeinfoitem有:name ,type,durable,auto_delete,internal,arguments.

Binding資訊:rabbitmqctl list_bindings [-p vhostpath][bindinginfoitem ...]

Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments

Connection資訊:rabbitmqctllist_connections [connectioninfoitem ...]

Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。

Channel資訊:rabbitmqctl  list_channels [channelinfoitem ...]

Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted

,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked

更多的資訊請參考:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

相關推薦

RabbitMQ 安裝配置管理&整理篇

安裝最新版本的rabbitmq(3.3.1),並啟用managementplugin後,使用預設的賬號guest登陸管理控制檯,卻提示登陸失敗。翻看官方的release文件後,得知由於賬號guest具有所有的操作許可權,並且又是預設賬號,出於安全因素的考慮,guest使用者

RabbitMQ 安裝配置管理

安裝 1.      安裝erlang虛擬機器 Rabbitmq基於erlang語言開發,所有需要安裝erlang虛擬機器 #tar zxvf otp_src_R15B01.tar.gz&& cd otp_src_R15B01 #./configure

Linux - vim安裝 配置使用

格式 only ctx net height border term mona 方便 一 Vim 簡單介紹 曾經一直用vi,近期開始使用 vim,以下將兩者做一下比較。 vi和vim都是多模式編輯器,不同的是vim 是vi的升級版本號,它不僅兼容vi的全部指令,並且

centos EMQTTD 集群安裝配置測試驗證

centos emqttd 集群安裝配置與測試驗證安裝包下載地址:http://emqtt.com/downloads在這裏我們下載 emqttd-centos6.8-v2.1.2.zip配置兩臺主機hosts192.168.0.10 s1.emqtt.io 192.168.0.20 s2.emqtt.i

docker虛擬化安裝配置常用命令

sta 80端口 ubuntu map 虛擬化 導出 6.5 關系 版本 一、Docker安裝配置 docker只有在centos6.5以上機器才能使用yum直接安裝,如果其他版本需要安裝centos擴展源epel。 docker官方文檔說要求Linux kernel至

solr的安裝配置helloworld

配置中文 啟動tomcat com war包 執行 package .text 文件 rdo 一、安裝solr 1.安裝jdk環境和tomcat 2.解壓solr壓縮包,這裏我解壓到opt目錄下 3.把/usr/local/solr-4.8.0/dist/solr-4.8.

網絡硬件設備配置管理(CCNA)下

網絡 硬件 cisco ccna 點擊下載:網絡硬件設備配置與管理(CCNA)下本文出自 “飛奔的魚兒” 博客,請務必保留此出處http://feiyuer.blog.51cto.com/6967044/1931155網絡硬件設備配置與管理(CCNA)下

jira安裝配置服務腳本

jira安裝部署 jira服務腳本 jira授權一、安裝說明系統:CentOS 6.7 x64 export LANG="zh_CN.UTF-8" # 否則中文無法顯示,還是英文安裝java 1.7.x版本jdk安裝mysql 5.1及以上版本二、數據庫配置創建mysql:>>crea

OpenGL初學:安裝配置第一個程序

ssi -m sphere 選擇 system32 fonts imp b2c 矩形 計算機圖形學要用到OpenGL,我把我安裝的過程和當中遇到的一些問題記錄下。希望對OpenGL的剛開始學習的人有幫助^ ^ OpenGL簡單介紹: OpenGL? 是行業領域中最為

CentOS下 RabbitMQ安裝配置:

net mini rtu 配置 list /var/ 解析 .rpm -a CentOS RabbitMQ rpm 安裝方法: 系統環境:CentOS6IP地址:10.100.62.41 1.erlang安裝: erlang下載地址: http://www.rabbitm

4、設備配置管理

0.10 其它 遠程 啟動流程 password ip add face 子接口 對比 路由器加電/啟動順序1、加電自檢 (POST)2、加載並運行啟動引導微代碼3、尋找IOS映象文件4、加載IOS映象文件5、尋找配置文件6、加載配置文件7、正常運行路由器內部組件

RabbitMQ安裝配置

python 過程調用 鏈接 log 入隊 無需 href http 但是 RabbitMQ安裝 RabbitMQ是一個在AMQP基礎上完整的,可復用的企業消息系統。他遵循Mozilla Public License開源協議。 MQ全稱為Message Queue, 消

FTP服務器的配置管理

信道 eal dfa 客戶 abd images 恢復 tp服務器 記錄 一 FTP 簡介:1 FTP的數據鏈路原理:FTP(file transfer protocol)是相當古老的協議之一,他的主要功能是在服務器與客戶端之間進行檔案的傳輸,這個古老的協議使用的是明碼傳

第二章 交換機的基本配置管理

交換機 配置 一、實驗名稱交換機的基本配置與管理二、實驗內容1.新建 Packet Tracer 拓撲圖2.了解交換機命令行3.進入特權模式(en)4.進入全局配置模式(conf t)5.進入交換機端口視圖模式(int f0/1)6.返回到上級模式(exit)7.從全局以下模式返回到特權模式(end)

SaltStack安裝配置遠程執行測試

saltstack minion cmd.run test.ping 遠程執行 SaltStack是基於Python開發的服務器基礎架構集中管理平臺,也稱為自動化運維工具,具備遠程執行、配置管理、雲管理三大功能。管理端稱為Master,被管理端稱為Minion,Master和Minion通

在Packet Tracer中對交換機的基本配置管理

交換機 配置與管理 實驗目的: 掌握交換機的配置與管理。實驗準備與目的:<1>在Packet Tracer中用console連接PC與交換機。<2>進入特權模式(en)全局配置模式(conf t)交換機端口視圖模式(int f0/1)<3>Reload重啟(在特權

sendmail 安裝配置使用

系統/運維 Linux 安裝sendmailyum install -y sendmail編輯/etc/mail/local-host-namesvim /etc/mail/local-host-names填寫主機名配置sendmail(這裏以263郵箱為例)vim /etc/mail.rcset f

CentOS/RHEL 7上PostgreSQL的安裝配置基本使用

PostgreSQL 安裝 配置 基本使用 安裝PostgreSQL 9.6為例:? 安裝 Install the repository RPMyum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7

Redis筆記整理(一):Redis安裝配置數據類型操作

數據庫 NoSQL Redis [TOC] Redis筆記整理(一):Redis安裝配置與數據類型操作 Redis簡介 Redis是一個開源(BSD許可),內存存儲的數據結構服務器,可用作數據庫,高速緩存和消息隊列代理。 它支持字符串、哈希表、列表、集合、有序集合,位圖,hyperloglo

簡單操作Zabbix安裝配置郵件報警(centos 7.4)

zabbix 監控 學習 Zabbix官網下載地址:https://www.zabbix.com/download 實驗拓撲:zabbix server端: 192.168.80.101 公網環境 centos 7.4 LAMP架構zabbix angent端: 1