centos7 rabbitmq叢集建立
下載
http://www.rabbitmq.com/releases/erlang/erlang-19.0-1.el7.centos.x86_64.rpm
https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/:rabbitmq-server-3.6.12-1.el7.noarch.rpm
三節點IP
192.168.22.177
192.168.22.178
192.168.22.179
# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
修改三個節點的/etc/hosts檔案,把三個節點IP和對應的主機名分別寫入三個節點的檔案中。
1、安裝
三個節點安裝
# rpm -ivh erlang-19.0-1.el7.centos.x86_64.rpm
# rpm -ivh rabbitmq-server-3.6.12-1.el7.noarch.rpm
warning: rabbitmq-server-3.6.12-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 6026dfca: NOKEY
error: Failed dependencies:
socat is needed by rabbitmq-server-3.6.12-1.el7.noarch
# yum install socat
# rpm -ivh rabbitmq-server-3.6.12-1.el7.noarch.rpm
啟動服務
# rabbitmq-server -detached
檢視狀態
# rabbitmqctl status
列出外掛
# rabbitmq-plugins list
開啟頁面管理外掛
# rabbitmq-plugins enable rabbitmq_management
2、建立叢集
保持三個節點.erlang.cookie檔案一致
# find / -name "*.erlang.cookie*"
/var/lib/rabbitmq/.erlang.cookie
# ll /var/lib/rabbitmq/.erlang.cookie
-r-------- 1 rabbitmq rabbitmq 20 Oct 24 00:00 /var/lib/rabbitmq/.erlang.cookie
將177作為主節點,拷貝177上的.erlang.cookie檔案到另外兩個節點的/var/lib/rabbitmq目錄下
並修改拷貝後的檔案許可權
# chown rabbitmq:rabbitmq .erlang.cookie
178、179兩個節點
殺掉rabbitmq的程序
# kill -9
把節點加入叢集
# rabbitmq-server -detached
關閉應用
# rabbitmqctl stop_app
加入叢集
# rabbitmqctl join_cluster [email protected]
啟動應用
# rabbitmqctl start_app
177節點檢視
# rabbitmqctl cluster_status
Cluster status of node '[email protected]'
[{nodes,[{disc,['[email protected]','[email protected]',
'[email protected]']}]},
{running_nodes,['[email protected]','[email protected]',
'[email protected]']},
{cluster_name,<<"[email protected]">>},
{partitions,[]},
{alarms,[{'[email protected]',[]},
{'[email protected]',[]},
{'[email protected]',[]}]}]
3、web管理頁面配置
177建立rabbitmq管理頁面管理使用者
# rabbitmqctl add_user root Password
# rabbitmqctl set_permissions -p / root ".*" ".*" ".*"
# rabbitmqctl set_user_tags root administrator
可以使用使用者root通過瀏覽器登入web管理介面http://192.168.22.177:15672
在web介面,登陸後,點選“Admin--Virtual Hosts(頁面右側)”,在開啟的頁面上的下方的“Add a new virtual host”處增加一個虛擬主機test,同時給使用者“root”和“guest”均加上許可權
177上做
# rabbitmqctl set_policy -p test ha-all "^" '{"ha-mode":"all"}'
"test" vhost名稱, "^"匹配所有的佇列, ha-all 策略名稱為ha-all, '{"ha-mode":"all"}' 策略模式為 all 即複製到所有節點,包含新增節點。
則此時映象佇列設定成功。(這裡的虛擬主機test是程式碼中需要用到的虛擬主機,虛擬主機的作用是做一個訊息的隔離,本質上可認為是一個rabbitmq-server,是否增加虛擬主機,增加幾個,這是由開發中的業務決定,即有哪幾類服務,哪些服務用哪一個虛擬主機,這是一個規劃)。
4、安裝haproxy
177上安裝haproxy
# yum install haproxy
# vi /etc/haproxy/haproxy.cfg
刪除60行之後的內容
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
......
新增
listen rabbitmq_local_cluster 0.0.0.0:5670
mode tcp
balance roundrobin
server rabbit1 192.168.22.177:5672 check inter 5000 rise 2 fall 3
server rabbit2 192.168.22.178:5672 check inter 5000 rise 2 fall 3
server rabbit3 192.168.22.179:5672 check inter 5000 rise 2 fall 3
listen private_monitoring :8100
mode http
option httplog
stats enable
stats uri /stats
stats refresh 60s
stats auth admin:admin
# systemctl start haproxy.service
http://192.168.22.177:8100/stats
5、rabbitmq使用的日常命令
啟動rabbitmq
rabbitmq-server -detached
檢視rabbitmq狀態
rabbitmqctl status
節點服務管理
systemctl start rabbitmq-server.service
systemctl stop rabbitmq-server.service
systemctl restart rabbitmq-server.service
新增節點到叢集
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster [email protected]
rabbitmqctl start_app
檢視叢集狀態
rabbitmqctl cluster_status
新增賬號:
rabbitmqctl add_user admin admin
新增 許可權tag
rabbitmqctl set_user_tags admin administrator
刪除使用者(刪除guest使用者)
rabbitmqctl delete_user guest
修改使用者的密碼
rabbitmqctl change_password Username Newpassword
檢視當前使用者列表
rabbitmqctl list_users
參考:
https://blog.csdn.net/u012062455/article/details/80003763
https://www.cnblogs.com/saneri/p/7798251.html
https://blog.csdn.net/jxdl6655/article/details/78194191
http://www.bubuko.com/infodetail-2710921.html
相關推薦
centos7 rabbitmq叢集建立
下載 http://www.rabbitmq.com/releases/erlang/erlang-19.0-1.el7.centos.x86_64.rpm https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/:rabb
Centos7-rabbitmq叢集部署
一、對應主機host地址(每臺主機host檔案要保持一致)(每臺都操作) 172.16.2.61 rabbitmq01 172.16.2.62 rabbitmq02 二、每臺都安裝rabbitmq-server(注意:要先裝epel-release擴充套件源)(每臺都操作)
centos7 rabbitMQ叢集搭建
資料參考網址 http://blog.csdn.net/woogeyu/article/details/51119101 http://www.cnblogs.com/lion.net/p/5725474.html https://segmentfault.co
centos7 環境安裝rabbitmq 叢集
繼上一篇https://www.cnblogs.com/drafire/p/10062891.html ,這篇部落格繼續介紹centos 7下安裝rabbitmq的叢集。 今天在公司搞了一天的rabbitmq,各種牛鬼蛇神的部落格都看過了,終於看到了一遍說得有點模樣的了,廢話不多說,直接上乾貨。
虛擬機器VMware搭基於Centos7的rabbitMQ叢集
背景 將一個已經裝有單機版rabbitMQ的虛擬機器進行克隆。克隆四臺。這進行的是完整克隆。四臺機分別用於 記憶體節點1,記憶體節點2,磁碟節點,反向代理節點。 使用記憶體節點可以加快應用程式建立交換器,佇列等物件。這些物件的元資料只會在磁碟節點發生IO操作,其它節點都
Centos7 RabbitMQ訊息佇列叢集
一、簡介 MQ(Message Queue,訊息佇列)是一款訊息中介軟體,一般以叢集方式部署,主要提供訊息的接受和傳送,實現各微服務之間的訊息非同步。 1、叢集原理 rabbitmq 是依據erlang
Kubernetes(K8S)叢集在centos7.4下建立
自己在搭Kubernetes(K8S)叢集下遇到的坑寫一點隨筆。 本次採用192.168.60.21,192.168.60.22,192.168.60.23作為需要裝的伺服器。 master需要安裝etcd, flannel,docker, kubernetes 192.168.6
RabbitMQ: 批量建立節點並組成叢集
多核 CPU 上建立叢集的好處很明顯,可以充分地利用 CPU 運算能力。 之前講的都是在單機上用命令方式逐個建立節點,然後由這些節點組成叢集。 其實如果是在同一臺計算機上建立多個節點,RabbitMQ 提供了一個便捷的命令來批量操作。 這個命令是:rabbitmq-mul
CentOS7.4下建立DNS主從服務器(二)
bind dns master-slave (一)DNS主從同步的原理:1、master DNS服務器每次修改完成並重啟服務後,將傳送notify給所有的slave DNS服務器; 2、slave DNS服務器將查詢master服務器的SOA記錄; 3、master DNS服務器收到請求後將SOA
Spring Boot專案配置RabbitMQ叢集
//具體參看了配置的原始碼 org.springframework.boot.autoconfigure.amqp.RabbitProperties //RabbitMQ單機 spring: rabbitmq: host: localh
kubernetes實戰(四):k8s持久化安裝rabbitmq叢集
1、下載檔案 https://github.com/dotbalo/k8s/tree/master/rabbitmq-cluster 2、建立namespace kubectl create namespace public-service 如果不使用publi
搭建配置rabbitmq叢集過程
由於公司很早就搭建了mq的環境,測試環境單節點單例項,最近頻繁出問題,包括落盤檔案過多導致磁碟爆滿等,所以決定將中介軟體伺服器做成叢集模式,為保證遷移後順暢使用,都是使用的跟之前一樣的老版本。 安裝erlang環境 tar -xvf otp_src_17.3.tar.gz mkdir /us
rabbitmq叢集模式安裝
環境 centos 7.4 172.16.91.217 172.16.91.218 安裝包版本 http://www.erlang.org/download/otp_src_18.3.tar.gz otp_src_18.3.tar.gz http://www
RabbitMQ VS Apache Kafka (九)—— RabbitMQ叢集的分割槽容錯性與高可用性
本章,我們討論有關RabbitMQ的容錯性,訊息一致性及高可用性。RabbitMQ可以作為叢集節點來執行,因此RabbitMQ通常被歸為分散式訊息系統,對於分散式訊息系統,我們的關注點通常是一致性與可用性。 我們為什麼要討論分散式系統的一致性與可用性,本質在於兩者描述的是系統在失敗的
【轉】postgresql 檢視資料庫叢集建立時間
原文連結:https://blog.csdn.net/ctypyb2002/article/details/80930809 使用 pg_controldata 檢視 Database system identifier $ /usr/pgsql-10/bin/pg_controldata
rabbitmq叢集運維一點總結
說明:以下操作都以三節點叢集為例,機器名標記為機器A、機器B、機器C,如果為雙節點忽略機器C,如果為各多節點則與機器C操作相同 一、rabbitmq叢集必要條件 1.1、繫結實體ip,即ip a所能查詢到的繫結到網絡卡上的ip,以下是繫結方法: 1 #編輯配置路徑 /etc/rabbitmq/ra
關於RabbitMQ叢集的一些知識點彙總
一、如何選擇RabbitMQ的訊息儲存方式? RabbitMQ對queue中message的儲存有兩種方式:disc和ram。 如果採用disc,則需要對exchange/queue/delivery mode都要設定成durable模式。 disc方式的好處是當RabbitMQ失效
CentOS 部署RabbitMQ叢集
1. 準備兩臺CentOS,資訊如下: node1:10.0.0.123 node2:10.0.0.124 修改hostname請參照: $ hostname # 檢視當前的hostname $ hostname node1 # 設定當前的hostname(立即生效)
Rabbitmq叢集詳解
Rabbitmq簡介 1、什麼是rabbitmq? MQ全稱為MessageQueue,訊息佇列(MQ)是一種應用程式對應用程式的通訊方法。應用程式通過寫和檢索出入列隊的針對應用程式的資料(訊息)來通訊,而無需專用連線來連結它們。RabbitMQ 是一個由 Erlang 語言開發的 AMQP(高階訊
多機搭建haproxy+rabbitmq叢集
環境說明: 主機1:192.168.0.234 mq01 DISK 主機2:192.168.0.235 mq02 RAM 主機3:192.168.0.236 mq03 RAM 主機4:測試機器,安裝了jdk-8u151-linux-x64, 作業系統:Cen