rabbitmq 映象集群負載均衡 搭建過程

2021-09-05 11:43:06 字數 2917 閱讀 999

rabbitmq 映象集群配置 

準備好幾臺伺服器 比如三颱 ip分別是 191,192,193

第一步 配置環境和主機名 分別設定三颱機器 

① 設定主機名

191:命令

vim /ect/hostname

rab191

192:命令

vim /ect/hostname

rab192     

193:命令

vim /ect/hostname

rab193     

② 設定機器之間可以通訊 三颱機器都需設定 設定一樣的

命令           

vim /ect/hosts

10.0.0.191 rab191

10.0.0.192 rab192 

10.0.0.193 rab193

③ 安裝執行的的環境         

命令yum install build-essential openssl openssl-devel unixodbc unixodbc-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

這樣就設定了好了 環境       然後 重啟一下機器  這樣那個 hostname才會在rabbitmq生效     

第二步 三颱機器都需要同樣的操作 安裝 rabbitmq 以及他的依賴 

命令 wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm

② 安裝依賴和rabbitmq 

命令rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 

rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm    

③ 修改配置檔案 

修改:loopback_users 中的 [<>],只保留[guest]

修改:heartbeat 為1  ## 心跳

④ 啟動服務和關閉服務 命令

⑤ 安裝外掛程式 即是 ui 管理端      

命令 rabbitmq-plugins enable rabbitmq_management

命令 vim /etc/rabbitmq/rabbitmq.config 

[,]}].

保全退出 要指定 這個使用者   guest

然後重啟 service rabbitmq-server restart  ,再次登入就ok

第三步 加入集群

① 停止所有的機器 

命令rabbitmqctl stop    

② 同步 cookie 檔案 ,即是複製檔案 這時候要選擇乙個機器為主節點機器  比如是191

進入191機器的檔案目錄 複製到倆臺機器

命令scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/

命令scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/

③ 然後再所有機器執行集群啟動

命令rabbitmq-server -detached  

④ 加入集群中 即是加入到191 裡面  

然後在193操作           

最後如果成功了  請在任意乙個 介面重新整理  會看到三個node 就說明成功了 

⑤ 檢視集群狀態 當然也可以設定集群的名稱  "aabb"

命令設定名稱 :rabbitmqctl set_cluster_name aabb     

命令檢視狀態: rabbitmqctl cluster_status    

第四步 設定映象佇列策略 在任意乙個機器執行命令就可 

命令:rabbitmqctl set_policy ha-all "^" ''

然後重啟 service rabbitmq-server restart  ,再次登入就ok

第五步 集群經完成了 .

第六步 總結 

學習過程中遇到很多問題 比如ui管理端登入不上 加入集群遇到問題 其實都是環境沒有配置好

比如 加入集群 遇到 這個錯誤 

clustering node rabbit@rab193 with rabbit@rab191 ...

error: unable to connect to nodes [rabbit@rab191]: nodedown

diagnostics

attempted to contact: [rabbit@rab191]

rabbit@rab191:

* unable to connect to epmd (port 4369) on rab191: nxdomain (non-existing domain)

current node details:

- node name: 'rabbitmq-cli-99@rab193'

- home dir: /var/lib/rabbitmq

- cookie hash: gllle/7c/dmnc+5jkkuyqw==

其實這個錯誤就是機器之間要通訊   即是本的第一步的第二點

還有在區域網  登入guest登入失敗 就是第二步的第六點

還有其他錯誤就是防火牆或者自己埠就好了.

這集群效果圖

Rabbitmq映象集群部署

位址 環境 兩台伺服器作為兩個節點,把node 003加入node 002 192.168.95.129 node 002 192.168.95.130 node 003 1.配置環境host,兩個節點的host都需要包含每個節點的資訊,資訊要一致。下面是在node 002中的操作。node 003...

RabbitMQ 集群 負載均衡

集群的配置已經搭建好了,也成功跑通,成功做到了高可用,但是我們的程式連線節點並不會管哪個伺服器在忙 哪個伺服器空閒,完全看心情想連誰就連誰。而且 中要把每個ip的節點都手動的寫出來 既然是手動的就很有可能發現寫錯這種情況,同樣web ui 通常也不知道開啟哪個好,因為每個伺服器都有乙個 web ui...

集群上配置Keepalived實現負載均衡

keepalived是乙個基於vrrp協議來實現的服務高可用方案,可以利用其來避免ip單點故障。keepalived的作用是檢測伺服器的狀態,如果有一台web伺服器宕機,或工作出現故障,keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正...