rabbitmq集群搭建 多機

2021-08-01 12:09:31 字數 2812 閱讀 2174

由於某些因素的限制,機器不夠你不得不在一台機器上去搭建乙個rabbitmq集群,可以閱讀這篇部落格:《rabbitmq單機多例項集群搭建》。

1.安裝單機版的 教程:《linux下安裝rabbitmq

注意:不同於單機多節點的情況,在多機環境,如果要在cluster集群內部署多個節點,需要注意兩個方面:

1)保證需要部署的這幾個節點在同乙個區域網內

2)需要有相同的erlang cookie,否則不能進行通訊,為保證cookie的完全一致,採用從乙個節點copy的方式,下面就會使用這種方式

2.要搭建集群,先將之前單機版中歷史記錄乾掉,刪除rabbitmq/var/lib/rabbitmq/mnesia下的所有內容。

3.分別在192.168.1.103   192.168.1.104  192.168.1.105節點上安裝rabbitmq server。

4.在瀏覽器訪問每乙個rabbitmq例項,是夠可以顯示登入頁面,如果顯示成功,繼續往下進行。

5.設定不同節點間同一認證的erlang cookie 

將192.168.1.103上的rabbitmq/var/lib/rabbitmq/.erlang.cookie中的內容複製到192.168.1.104和192.168.1.105上的rabbitmq/var/lib/rabbitmq/.erlang.cookie檔案中, 即三颱伺服器必須具有相同的cookie,如果不相同的話,無法搭建集群

注意:如果我們使用解壓縮方式安裝部署的rabbitmq,那麼這個檔案會在$目錄下,也就是$home/.erlang.cookie。

如果我們使用rpm等安裝包方式進行安裝的,那麼這個檔案會在/var/lib/rabbitmq目錄下。

6.分別在三個節點的/etc/hosts下設定相同的配置資訊,然後重啟機器

192.168.1.103 rabbit1

192.168.1.104 rabbit2

192.168.1.105 rabbit3

重啟之後[root@localhost ~]# 改為[root@rabbit1 ~]# hostname就會生效

7.使用 -detached執行各節點

rabbitmq-server -detached

8.建立集群

1)rabbit1為主節點,另外兩個為從節點搭建,主節點不用動,只在兩個從節點執行如下命令,我這裡只舉乙個節點(rabbit2)的例子,rabbit3執行相同的命令

[root@rabbit2 rabbitmq]#

[root@rabbit2 rabbitmq]#

rabbitmqctl reset

resetting node rabbit@rabbit2 ...

[root@rabbit2 rabbitmq]#

rabbitmqctl join_cluster rabbit@rabbit1

clustering node rabbit@rabbit2 with rabbit@rabbit1 ...

[root@rabbit2 rabbitmq]#

starting node rabbit@rabbit2 ...

2)使用rabbitmqctl cluster_status檢視集群狀態

[root@rabbit2 rabbitmq]#

rabbitmqctl cluster_status

cluster status of node rabbit@rabbit2 ...},,

,,,]}]

9.我這裡建立完成之後,之前的admin使用者無法使用了,重新新增使用者,參考之前搭建單機版的命令

10.使用剛才的賬號密碼登入,出現以下介面,表示成功。

11.測試,生產者使用192.168.1.103:5672生產訊息,消費者使用192.168.1.104:5672獲取訊息,如果能獲取到表示集群搭建成功

producer類:

package com.rabbitmq.test.t_helloworld;

import com.rabbitmq.client.channel;

import com.rabbitmq.client.connection;

import com.rabbitmq.client.connectionfactory;

import com.rabbitmq.test.util.connectionutil;

/** * helloworld

* @author lenovo

* */

public class producer

}

consumer類:

package com.rabbitmq.test.t_helloworld;

import com.rabbitmq.client.channel;

import com.rabbitmq.client.connection;

import com.rabbitmq.client.connectionfactory;

import com.rabbitmq.client.queueingconsumer;

import com.rabbitmq.test.util.connectionutil;

public class consumer }}

rabbitmq單機多例項集群搭建

這裡展示的是單機集群的部署,如果機器足夠多,可以選擇多機集群部署,詳細可以參考 rabbitmq集群搭建 多機 1.安裝單機版的 教程 linux下安裝rabbitmq 2.要搭建集群,先將之前單機版中歷史記錄乾掉,刪除rabbitmq var lib rabbitmq mnesia下的所有內容。3...

搭建rabbitmq集群

訪問管理位址http ip 15672 使用guest使用者登入 1.配置hosts檔案 10.1.10.201 controller 10.1.10.105 rabbitmq01 10.1.10.106 rabbitmq02 2.採用從主節點copy的方式保持cookie的一致性 root con...

rabbitmq集群搭建

目錄rabbitmq是用erlang語言開發的,erlang語言最初用於交換機領域,這樣就使得rabbitmq和broker server 之間進行資料互動的效能是非常優秀的,erlang有著和原生socket一樣的延遲,集群非常方便,因為erlang天生就是分布式語言,但其本身不支援負載均衡。ra...