日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RabbitMQ 普通集群配置_04

發布時間:2024/9/27 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RabbitMQ 普通集群配置_04 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接上一篇:(企業級) 搭建集群 RabbitMQ SHELL腳本實戰_03

文章目錄

  • RabbiMQ簡介
  • RabbiMQ模式
  • RabbiMQ特點
  • 環境部署總覽
  • 一、基礎配置及RabbitMQ 安裝
    • 1. 配置hosts文件
    • 2. 安裝配置RabbitMQ
    • 3. 思路分析
  • 二、RabiitMQ 集群配置同步
    • 2.1. 拷貝erlang.cookie
    • 2.2. 同步.erlang.cookie
    • 2.3. 重新啟動RabbitMQ服務
    • 2.4. 查看監聽端口
    • 2.5. 將ly-02、ly-03作為內存節點加入ly-01節點集群中
    • 2.6. ly-02 加入集群操作記錄
    • 2.7. ly-03 加入集群操作記錄
    • 2.8. 查看集群狀態
  • 三、登錄rabbitmq web管理控制臺
    • 3.1. 訪問管控臺
    • 3.2. 創建新的隊列aa

RabbiMQ簡介

RabbiMQ是用Erang開發的,集群非常方便,因為Erlang天生就是一門分布式語言,但其本身并不支持負載均衡。

RabbiMQ模式

RabbitMQ模式大概分為以下三種:

  • (1)單一模式。
  • (2)普通模式(默認的集群模式)。
  • (3) 鏡像模式(把需要的隊列做成鏡像隊列,存在于多個節點,屬于RabbiMQ的HA方案,在對業務可靠性要求較高的場合中比較適用)。
    要實現鏡像模式,需要先搭建一個普通集群模式,在這個模式的基礎上再配置鏡像模式以實現高可用。

RabbiMQ特點

RabbitMQ的集群節點包括內存節點、磁盤節點。RabbitMQ支持消息的持久化
也就是數據寫在磁盤上,最合適的方案就是既有內存節點,又有磁盤節點。

環境部署總覽

IP地址主機名防火墻和SELinux用途
192.168.43.242ly-01關閉磁盤節點
192.168.43.134ly-02關閉內存節點
192.168.43.228ly-03關閉內存節點

注意,這里三臺服務器都連接上互聯網,另外RabbitMQ集群節點必須在同一網段里,如果是跨廣域網,效果會變差。

一、基礎配置及RabbitMQ 安裝

分別登錄ly-01、ly-02、ly-03 執行以下操作:

1. 配置hosts文件

更改三臺MQ節點的計算機名分別為ly-01、ly-02 和、y-03

#修改`hosts`配置文件 vim /etc/hosts 添加內容如下: 192.168.43.242 ly-01 192.168.43.134 ly-02 192.168.43.228 ly-03

2. 安裝配置RabbitMQ

(企業級) CentOS7 安裝 RabbitMQ最新版本 下載、安裝、配置、運行、部署_01

3. 思路分析

上面就是需要在3臺服務器上都要RabbitMQ下載、安裝、配置、部署,那怎樣才能
快速安裝配置RabbitMQ呢?
(企業級) 搭建集群RabbitMQ 快速下載、安裝、配置、部署_02
(企業級) 搭建集群RabbitMQ SHELL腳本實戰_03

二、RabiitMQ 集群配置同步

  • 登錄ly-01操作

2.1. 拷貝erlang.cookie

Rabbitmq的集群是依附于erlang的集群來工作的,所以必須先構建起erlang的集群景象。Erlang的集群中各節點是經由過程一個magic cookie來實現的,這個cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的權限。所以必須保證各節點cookie一致,不然節點之間就無法通信。

  • 查看.erlang.cookie內容,每一天的內容是不一樣的
[root@ly01 ~]# cat /var/lib/rabbitmq/.erlang.cookie XAHPZVPYUQDWWJIOHUPQ

2.2. 同步.erlang.cookie

  • 用scp的方式將mq01節點的.erlang.cookie的值復制到其他兩個節點中。
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.43.134:/var/lib/rabbitmq/.erlang.cookie scp /var/lib/rabbitmq/.erlang.cookie root@192.168.100.228:/var/lib/rabbitmq/.erlang.cookie

2.3. 重新啟動RabbitMQ服務

#運行腳本 bash rabbitmq_guard_start.sh注如果不是root用戶,請采用下面操作 #黑腳本賦予可執行權限 chmod u+x rabbitmq_guard_start.sh #運行腳本 #格式 ./config_file.sh rabbitmq_server版本 ./rabbitmq_guard_start.sh#內容如下: rabbitmq-server start &

2.4. 查看監聽端口

(插件監控的端口是15672)

netstat -ntap | grep 5672 tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 8112/beam.smp tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 8112/beam.smp tcp6 0 0 :::5672 :::* LISTEN 8112/beam.smp [root@ly-01 ~]#

2.5. 將ly-02、ly-03作為內存節點加入ly-01節點集群中

在ly-02、ly-03執行如下命令:

rabbitmqctl stop_app //停掉rabbit應用 rabbitmqctl join_cluster --ram rabbit@mq01 //加入到磁盤節點 rabbitmqctl start_app //啟動rabbit應用

或者啟動腳本:

#運行腳本 #格式 bash join_cluster_node.sh 磁盤節點域名或者ip地址 #參考下面2個栗子,任選其一即可 bash join_cluster_node.sh ly-01 bash join_cluster_node.sh 192.168.43.242注如果不是root用戶,請采用下面操作 #給腳本賦予可執行權限 chmod u+x join_cluster_node.sh #運行腳本 #格式 ./join_cluster_node.sh 磁盤節點域名或者ip地址 #例子如下: ./join_cluster_node.sh ly-01 ./join_cluster_node.sh 192.168.43.242#添加內容如下: rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@$1 rabbitmqctl start_app

2.6. ly-02 加入集群操作記錄

[root@ly-02 app]# rabbitmqctl stop_app Stopping rabbit application on node rabbit@ly-02 ... [root@ly-02 app]# rabbitmqctl join_cluster --ram rabbit@ly-01 Clustering node rabbit@ly-02 with rabbit@ly-01 [root@ly-02 app]# rabbitmqctl start_app Starting node rabbit@ly-02 ...## #### ## RabbitMQ 3.7.24. Copyright (c) 2007-2020 Pivotal Software, Inc.########## Licensed under the MPL. See https://www.rabbitmq.com/###### ############ Logs: /var/log/rabbitmq/rabbit@ly-02.log/var/log/rabbitmq/rabbit@ly-02_upgrade.logStarting broker...completed with 3 plugins. [root@ly-02 app]#

2.7. ly-03 加入集群操作記錄

[root@ly-03 app]# rabbitmqctl stop_app Stopping rabbit application on node rabbit@ly-03 ... [root@ly-03 app]# rabbitmqctl join_cluster --ram rabbit@ly-01 Clustering node rabbit@ly-03 with rabbit@ly-01 [root@ly-03 app]# rabbitmqctl start_app Starting node rabbit@ly-03 ...## #### ## RabbitMQ 3.7.24. Copyright (c) 2007-2020 Pivotal Software, Inc.########## Licensed under the MPL. See https://www.rabbitmq.com/###### ############ Logs: /var/log/rabbitmq/rabbit@ly-03.log/var/log/rabbitmq/rabbit@ly-03_upgrade.logStarting broker...completed with 3 plugins. [root@ly-03 app]# (1)默認rabbitmq啟動后是磁盤節點,在這個cluster命令下,mq02和mq03是內存節點,mq01是磁盤節點。 (2)如果要使mq02、mq03都是磁盤節點,去掉--ram參數即可。 (3)如果想要更改節點類型,可以使用命令rabbitmqctl change_cluster_node_type disc(ram),前提是必須停掉rabbit應用

2.8. 查看集群狀態

[root@ly-01 ~]# rabbitmqctl cluster_status Cluster status of node rabbit@ly-01 ... [{nodes,[{disc,['rabbit@ly-01']},{ram,['rabbit@ly-03','rabbit@ly-02']}]},{running_nodes,['rabbit@ly-03','rabbit@ly-02','rabbit@ly-01']},{cluster_name,<<"rabbit@ly-01">>},{partitions,[]},{alarms,[{'rabbit@ly-03',[]},{'rabbit@ly-02',[]},{'rabbit@ly-01',[]}]}] [root@ly-01 ~]#

三、登錄rabbitmq web管理控制臺

3.1. 訪問管控臺

打開瀏覽器輸入http://192.168.43.242:15672,
輸入默認的Username:guest,輸入默認的Password:guest ,登錄后出現如圖所示的界面

3.2. 創建新的隊列aa

根據界面提示創建一條隊列


在RabbitMQ集群集群中,必須至少有一個磁盤節點,否則隊列元數據無法寫入到集群中,當磁盤節點宕掉時,集群將無法寫入新的隊列元數據信息。

接下一篇:
(企業級) RabbitMQ 鏡像集群配置_05

總結

以上是生活随笔為你收集整理的RabbitMQ 普通集群配置_04的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。