国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RabbitMQ集群安裝

這篇具有很好參考價值的文章主要介紹了RabbitMQ集群安裝。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

RabbitMQ集群安裝

1.前言

OS: CentOS Linux release 7.9.2009 (Core)

機器:

IP node cpu 內(nèi)存 存儲
10.106.1.241 max-rabbitmg-01 8 核 16 G 100 G
10.106.1.242 max-rabbitmg-02 8 核 16 G 100 G
10.106.1.243 max-rabbitmg-03 8 核 16 G 100 G

因為操作系統(tǒng)版本是 centos7,所以RabbitMQ安裝版本,選的是最后一個支持RHEL7的版本。

在安裝RabbitMQ之前,需要安裝Erlang/OTP支持的版本。RabbitMQ是實現(xiàn)了高級消息隊列協(xié)議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務(wù)器是用Erlang語言編寫的。

再確定要下載的RabbitMQ的版本號之后,訪問網(wǎng)址選擇Erlang版本查看匹配對應(yīng)Erlang的版本號,并進行下載。

本次下載RabbitMQ版本為3.10.0-1對應(yīng)的Erlang版本為23.3.4.11-1

RabbitMQ: 3.10.0-1
Erlang: 23.3.4.11-1

2.準備

注意,以下操作,分別在3臺機器上執(zhí)行

配置hosts:

cat << \EOF >> /etc/hosts
10.106.1.241 max-rabbitmq-01
10.106.1.242 max-rabbitmq-02
10.106.1.243 max-rabbitmq-03
EOF

查看hosts配置是否正確:

ping max-rabbitmq-01
ping max-rabbitmq-02
ping max-rabbitmq-03

關(guān)閉selinux:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0

關(guān)閉防火墻:

systemctl stop firewalld
systemctl disable firewalld

安裝存儲庫:

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | bash
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | bash

下載rpm安裝包:

wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm/download.rpm?distro_version_id=205
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.10.0-1.el7.noarch.rpm/download.rpm?distro_version_id=205

3.安裝

注意,以下操作,分別在3臺機器上執(zhí)行

安裝:

yum install -y erlang-23.3.4.11-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.10.0-1.el7.noarch.rpm

啟動服務(wù)、并設(shè)置開機服務(wù):

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

其它服務(wù)命令:

# 啟動
systemctl start rabbitmq-server
# 查看狀態(tài)
systemctl status rabbitmq-server
# 停止
systemctl stop rabbitmq-server stop

4.端口授權(quán)

RabbitMQ節(jié)點綁定到端口(開放服務(wù)器TCP套接字)以接受客戶端和CLI工具連接。

其他進程和工具(如SELinux)可能會阻止RabbitMQ綁定端口。

當發(fā)生這種情況時,節(jié)點將無法啟動。
CLI工具、客戶端庫和RabbitMQ節(jié)點也可以打開連接(客戶端TCP套接字)。

防火墻可以阻止節(jié)點和CLI工具之間的通信。

為了確保以下端口可訪問,請單獨端口開啟授權(quán),請直接關(guān)閉防火墻。

這里推薦直接關(guān)閉防火墻

4369: epmd, RabbitMQ節(jié)點和CLI工具使用的對等體發(fā)現(xiàn)服務(wù)

5672, 5671:用于AMQP 0-9-1和1.0客戶端,無論是否使用TLS

25672:用于節(jié)點間和CLI工具通信(Erlang分發(fā)服務(wù)器端口),動態(tài)范圍分配(默認限制為單個端口,計算為AMQP端口+ 20000)。除非這些端口上的外部連接確實是必要的(例如集群使用聯(lián)合或在子網(wǎng)外的機器上使用CLI工具),否則這些端口不應(yīng)該公開。具體請參見組網(wǎng)指南。

35672-35682: CLI工具(Erlang分發(fā)客戶端端口)用于與節(jié)點通信,按動態(tài)范圍(服務(wù)器分發(fā)端口+ 10000 ~服務(wù)器分發(fā)端口+ 10010計算)分配。具體請參見組網(wǎng)指南。

15672: HTTP API客戶端,管理UI和rabbitmqadmin(只有啟用了管理插件)

61613,61614: STOMP客戶端不帶TLS或帶TLS(僅當啟用STOMP插件時)

1883、8883:MQTT客戶端,如果啟用了MQTT插件,則不使用TLS或使用TLS

15674: STOMP-over- websockets客戶端(僅當Web STOMP插件啟用時)

15675: MQTT-over- websockets客戶端(僅當啟用Web MQTT插件時)

15692: Prometheus metrics(僅當Prometheus插件啟用時)

5.開啟遠程登錄

注意,以下操作,分別在3臺機器上執(zhí)行

rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_mqtt

6.添加用戶及權(quán)限

注意,以下操作,分別在3臺機器上執(zhí)行

添加RabbitMQ用戶及權(quán)限:

rabbitmqctl add_user admin 你RabbitMQ的密碼
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

執(zhí)行rabbitmqctl add_user時,出現(xiàn) Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more. 這段是提醒記得設(shè)置權(quán)限。

執(zhí)行完創(chuàng)建用戶及授權(quán)命令后,可以試下賬號是否能登錄:

http://10.106.1.241:15672

http://10.106.1.242:15672

http://10.106.1.243:15672

7.默認集群配置

在max-rabbitmq-02、max-rabbitmq-03節(jié)點執(zhí)行停RabbitMQ服務(wù)的命令:

systemctl stop rabbitmq-server

后面的集群配置,為了確保計算機中erlang.cookie文件是一致的,執(zhí)行以下腳本scp命令。

拷貝.erlang.cookie到max-rabbitmq-02、max-rabbitmq-03節(jié)點:

scp /var/lib/rabbitmq/.erlang.cookie root@max-rabbitmq-02:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@max-rabbitmq-03:/var/lib/rabbitmq/.erlang.cookie

重啟max-rabbitmq-02、max-rabbitmq-03的RabbitMQ服務(wù):

systemctl start rabbitmq-server

max-rabbitmq-02加入集群:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@max-rabbitmq-01
rabbitmqctl start_app
rabbitmqctl cluster_status

max-rabbitmq-03加入集群:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@max-rabbitmq-01
rabbitmqctl start_app
rabbitmqctl cluster_status

登錄http://10.106.1.241:15672查看集群狀態(tài)

正常情況如下圖:
RabbitMQ集群安裝

8.安裝插件

安裝延遲消息隊列插件

插件下載地址:rabbitmq_delayed_message_exchange-3.10.0.ez

請注意插件的版本號,這里下載的是與之相對應(yīng)的版本。

查看插件存放目錄:

rabbitmq-plugins directories -s

執(zhí)行查看存放目錄后,顯示如下

Plugin archives directory: /usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.10.0/plugins
Plugin expansion directory: /var/lib/rabbitmq/mnesia/rabbit@max-rabbitmq-01-plugins-expand
Enabled plugins file: /etc/rabbitmq/enabled_plugins

rabbitmq_delayed_message_exchange-3.10.0.ez下載至/usr/lib/rabbitmq/lib/rabbitmq_server-3.10.0/plugins目錄下。

執(zhí)行安裝命令:

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

3臺rabbitmq分別重啟服務(wù):

systemctl restart rabbitmq-server

查看插件安裝是否成功:

RabbitMQ集群安裝

9.鏡像集群配置

為什么要配置鏡像集群?因為默認集群無法達到高可用的效果。

  • 默認模式:

即普通模式,默認模式,以兩個節(jié)點(rabbit01,rabbit02)為例來進行說明,對于Queue來說,消息實體只存在于其中一個節(jié)點rabbit01(或者rabbit02),rabbit01和rabbit02兩個節(jié)點僅有相同的元數(shù)據(jù),即隊列結(jié)構(gòu)。當消息進入rabbit01節(jié)點的Queue后,consumer從rabbit02節(jié)點消費時,RabbitMQ會臨時在rabbit01,rabbit02間進行消息傳輸,把A中的消息實體取出并經(jīng)過B發(fā)送給consumer,所以consumer應(yīng)盡量連接每一個節(jié)點,從中取消息。即對于同一個邏輯隊列,要在多個節(jié)點建立物理Queue。否則無論consumer連rabbit01或rabbit02,出口總在rabbit01,會產(chǎn)生瓶頸。當rabbit01節(jié)點故障后,rabbit02節(jié)點無法取到rabbit01節(jié)點中還未消費的消息實體。如果做了消息持久化,那么等到rabbit01節(jié)點恢復(fù),然后才可被消費。如果沒有消息持久化,就會產(chǎn)生消息丟失的現(xiàn)象。

  • 鏡像模式:

把需要的隊列做成鏡像隊列,存在與多個節(jié)點屬于RabibitMQ的HA方案,該模式解決了普通模式中的問題,其實質(zhì)和普通模式不同之處在于,消息體會主動在鏡像節(jié)點間同步,而不是在客戶端取數(shù)據(jù)時臨時拉取,該模式帶來的副作用也很明顯,除了降低系統(tǒng)性能外,如果鏡像隊列數(shù)量過多,加之大量的消息進入,集群內(nèi)部的網(wǎng)絡(luò)帶寬將會被這種同步通訊大大消耗掉,所以在對可靠性要求比較高的場合中適用。

配置鏡像集群:

鏡像模式要依賴policy模塊,policy中文來說是政策,策略的意思,那么他就是要設(shè)置,那些Exchanges或者queue的數(shù)據(jù)需要復(fù)制,同步,如何復(fù)制同步?對就是做這些的。

  1. 進入Policies配置頁面:

通過Web控制臺操作,隨便找一臺節(jié)點服務(wù),這里以max-rabbitmq-01節(jié)點為例,按下圖中標記出的數(shù)字先后順序,點擊進入Policies配置頁面。
RabbitMQ集群安裝

  1. Policies配置頁面介紹:
    RabbitMQ集群安裝

參數(shù)解釋:

name: 策略名稱,自定義命名;
Pattern: 匹配符,只有一個代表匹配所有,test為匹配名稱為test的exchanges或者queue;
***Apply to:***使用對象,使用Exchanges and queues;
Priority:配置了多個策略時候的優(yōu)先級,值越大,優(yōu)先級越高。(單個策略配置意義不大),注意:沒有指定優(yōu)先級的消息會將優(yōu)先級以0對待,即沒有配置Priority時默認為0。 對于超過優(yōu)先級隊列所定最大優(yōu)先級的消息,優(yōu)先級以最大優(yōu)先級對待;
Definition: 匹配類型,他分為3種模式:all-所有(所有的queue),exctly-部分(需配置ha-params參數(shù),此參數(shù)為int類型比如3,眾多集群中的隨機3臺機器),nodes-指定(需配置ha-params參數(shù),此參數(shù)為數(shù)組類型比如[“3rabbit@F”,“rabbit@G”]這樣指定為F與G這2臺機器。)

  1. 查驗鏡像集群是否生效:
    查看Queues,會發(fā)現(xiàn)在Node字段中,默認指向了Master,當Master故障后,會切換至新選擇產(chǎn)生的Maseter,可自行測試驗證,比如將max-rabbitmq-01服務(wù)停掉,再來看此處的Node字段,是不是指向了新的節(jié)點上。
    RabbitMQ集群安裝
    此至,鏡像集群配置已經(jīng)完成。

10.引用Reference

CentOS8搭建nfs服務(wù)
Kubernetes 1.25.4版本安裝
kubeasz安裝kubernetes1.25.5
k8s一鍵安裝redis單機版
k8s一鍵安裝mysql8單機版
k8s部署springboot應(yīng)用
Docker安裝及學(xué)習
Docker制作springboot運行應(yīng)用鏡像
Docker制作Java8環(huán)境鏡像
Docker安裝Mysql5.7.31
Docker安裝Mysql8.1.0
Elasticsearch單機版本安裝
Elasticsearch集群安裝
ELK安裝
Docker安裝ELK
zookeeper集群安裝
Nginx日志切割
RabbitMQ集群安裝
springboot集成prometheus+grafana
windows11安裝android應(yīng)用文章來源地址http://www.zghlxwxcb.cn/news/detail-451043.html

到了這里,關(guān)于RabbitMQ集群安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Centos安裝RabbitMQ

    Centos安裝RabbitMQ

    ?控制臺? ? ?

    2024年02月13日
    瀏覽(31)
  • CentOS8安裝RabbitMQ

    CentOS8安裝RabbitMQ

    1、安裝Erlang環(huán)境 具體下載哪個版本需要看RabbitMQ需要安裝的版本 RabbitMQ和Erlang版本對應(yīng) 官網(wǎng)安裝指定的Erlang版本 下載RabbitMQ的rpm包 上傳Erlang和對應(yīng)的RabbitMQ安裝包 卸載前面的Erlang和RabbitMQ (一)、安裝Erlang (二)、安裝RabbitMQ 啟動RabbitMQ 開放端口 添加用戶 報錯 Error: unab

    2024年02月04日
    瀏覽(29)
  • RabbitMQ的安裝-centos環(huán)境

    RabbitMQ是一個消息中間件:它接受并轉(zhuǎn)發(fā)消息。你可以把它當做一個快遞站點,當你要發(fā)送一個包裹時,你把你的包裹放到快遞站,快遞員最終會把你的快遞送到收件人那里,按照這種邏輯RabbitMQ是一個快遞站,一個快遞員幫你傳遞快件。RabbitMQ與快遞站的主要區(qū)別在于,它不處

    2024年02月13日
    瀏覽(18)
  • centos7安裝rabbitmq

    centos7安裝rabbitmq

    1、安裝curl 2、下載erlang安裝包 3、安裝erlang 4、安裝成功以后檢測erlang版本號 5、先導(dǎo)入key 6、下載rabbitmq服務(wù) 7、在centos服務(wù)器上新建文件夾,并切換到當前路徑 8、 centos7下載安裝包,將下載的安裝包上傳到新建的路徑上 https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/ra

    2024年02月09日
    瀏覽(16)
  • CentOS8 安裝 RabbitMQ【純安裝手冊】

    安裝RabbitMQ 注意:以下的命令都是用root用戶操作的 下載Centos-8.repo 生成緩存 更新yum 由于 rabbitmq 是基于 erlang 語言開發(fā)的,所以必須先安裝 erlang 安裝依賴 erlang官網(wǎng)下載地址 erlang的github下載地址 github訪問可以下載這個軟件加速器 解決訪問github慢或打不開的問題資源-CSDN文庫

    2024年02月04日
    瀏覽(45)
  • Centos7安裝配置RabbitMQ

    Centos7安裝配置RabbitMQ

    在開始演示安裝RabbitMQ前,小編決定先介紹一下前置知識,想看安裝步驟的小伙伴可以直接跳過這個章節(jié),本篇博客算是小編學(xué)習RabbitMQ的筆記,部分內(nèi)容都是摘錄的,如果有感興趣的小伙伴可以私信小編,后續(xù)小編將會更新更多的關(guān)于RabbitMQ的知識,感興趣的小伙伴可以點個訂閱。 1

    2023年04月25日
    瀏覽(21)
  • RabbitMQ在CentOS下的安裝

    RabbitMQ在CentOS下的安裝

    RabbitMQ的版本是3.8.2 1.環(huán)境配置:CentOs 7.6以上版本,我的版本是7.9,不要對yum換源,否則可能會安裝失敗。 以上命令,是使用了UTF-8編碼格式。 2. 執(zhí)行,開始下載包 3.執(zhí)行 4.執(zhí)行以上兩部后 開始安裝。 5. 看到下面,點擊y即可,安裝完成。 ?6. 啟動RabbitMQ 7. 看看端口有沒有起

    2024年02月13日
    瀏覽(16)
  • RabbitMQ離線安裝(Centos7)

    RabbitMQ離線安裝(Centos7)

    摘要: 本文介紹在Centos7上離線安裝RabbitMQ 目錄 一、安裝RabbitMQ 1、下載rpm安裝包 2、安裝rpm包 二、開放相應(yīng)端口白名單 1、停止 Firewall 2、打開iptables配置文件 3、追加相應(yīng)端口的配置內(nèi)容 4、重啟iptables 三、配置并啟動RabbitMQ 1、開啟用戶遠程訪問 2、?啟動RabbitMQ服務(wù) 3、開啟

    2024年02月06日
    瀏覽(25)
  • Centos7下安裝RabbitMQ教程

    Centos7下安裝RabbitMQ教程

    看我這個文章安裝如果不會,你順著網(wǎng)線來揍我,不能說最簡單,我的是超級簡單?。?! 一、做準備(我是在vm虛擬機上的Centos7鏡像上安裝的) ? ? 1、安裝rabbitmq得準備他的安裝包(rabbitmq-server-3.8.5-1.el7.noarch) ? ? ? ?下載地址mq? ? ? ?? ? ? ?2、還得準備erlang語言(er

    2024年02月07日
    瀏覽(18)
  • Centos安裝RabbitMQ,JavaSpring發(fā)送RabbitMQ延遲延時消息,JavaSpring消費RabbitMQ消息

    Centos安裝RabbitMQ,JavaSpring發(fā)送RabbitMQ延遲延時消息,JavaSpring消費RabbitMQ消息

    erlang 和 rabbitmq 版本說明 https://www.rabbitmq.com/which-erlang.html 確認需要安裝的mq版本以及對應(yīng)的erlang版本。 RabbitMQ下載地址: https://packagecloud.io/rabbitmq/rabbitmq-server Erlang下載地址: https://packagecloud.io/rabbitmq/erlang RabbitMQ延遲消息插件下載 https://github.com/rabbitmq/rabbitmq-delayed-message-exc

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包