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