rabbitmq單機多例項集群搭建

2021-08-01 12:09:31 字數 3032 閱讀 3986

這裡展示的是單機集群的部署,如果機器足夠多,可以選擇多機集群部署,詳細可以參考《rabbitmq集群搭建(多機)》。 

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

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

3.啟動3個例項

#因為我配置了web管理外掛程式,所以還要指定其web外掛程式占用的埠號,如果不指定,將不能啟動多個節點,因為埠號被占用

rabbitmq_node_port=5672 rabbitmq_server_start_args="-rabbitmq_management listener " rabbitmq_nodename=rabbit rabbitmq-server -detached

rabbitmq_node_port=5673 rabbitmq_server_start_args="-rabbitmq_management listener " rabbitmq_nodename=rabbit2 rabbitmq-server -detached

rabbitmq_node_port=5674 rabbitmq_server_start_args="-rabbitmq_management listener " rabbitmq_nodename=rabbit3 rabbitmq-server -detached

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

5.我們以rabbit為主節點,剩下兩個為從節點(在從節點執行以下命令,主節點不用動,-n指定具體那個節點)

[root@localhost mnesia]#

[root@localhost mnesia]#

rabbitmqctl -n rabbit2 reset

resetting node rabbit2@localhost ...

[root@localhost mnesia]#

rabbitmqctl -n rabbit2 join_cluster rabbit@`hostname -s`

clustering node rabbit2@localhost with rabbit@localhost ...

[root@localhost mnesia]#

starting node rabbit2@localhost ...

[root@localhost mnesia]#

[root@localhost mnesia]#

rabbitmqctl -n rabbit3 reset

resetting node rabbit3@localhost ...

[root@localhost mnesia]#

rabbitmqctl -n rabbit3 join_cluster rabbit@`hostname -s`

clustering node rabbit3@localhost with rabbit@localhost ...

[root@localhost mnesia]#

starting node rabbit3@localhost ...

這是檢視每乙個rabbitmq的節點,可以看到以下場景,證明多例項啟動成功

6.如果想加入乙個新的節點到集群,只需要執行第五步相同的命令即可!

刪除節點:rabbitmqctl forget_cluster_node rabbit3@hostname

7.使用rabbitmqctl -n rabbit cluster_status檢視集群資訊

[root@localhost mnesia]#

rabbitmqctl -n rabbit cluster_status

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

,,,,

]}]搭建過程中,可能會出現如下錯誤,我感覺只要是出現帶mnesia關鍵字的,把rabbitmq/var/lib/rabbitmq/mnesia下所有內容刪掉(rm -rf *)。

clustering node hare@localhost with rabbit@localhost ...

error: mnesia_not_running

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

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 }}

mysql單機多例項 MYSQL單機多例項

一 建立安裝目錄 mkdir usr local mysql s 5.6.32 mkdir usr local mysql m 5.6.32 wget tar zxv f mysql 5.6.32.tar.gz 二 編譯命令 1 主編引數 cmake dcmake install prefix da...

RabbitMQ 單機集群安裝(十一)

一 環境說明 筆記本 8g 500g 安裝ubuntu 20.04.3 lts,學習rabbitmq集群安裝。rabbitmq 集群 rabbitmq這款訊息佇列中介軟體產品本身是基於erlang編寫,erlang語言天生具備分布式特性 通過同步erlang集群各節點的magic cookie來實現...

MySQL 單機多例項

關於mysql 單機多例項的優缺點等介紹具體可以知乎一下或參考mysql單機多例項配置 實現單機多例項可以通過docker輕鬆做到,這裡主要是分享使用自帶工具mysqld multi的過程及兩個坑點 系統 ubuntu 16.04lts xenial 版本 percorna server 5.7.2...