91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Rabbitmq簡介及部署群集

發布時間:2020-03-08 17:15:02 來源:網絡 閱讀:314 作者:筱振 欄目:系統運維

博文大綱:
一、MQ簡介
二、什么是RabbitMQ?
三、安裝RabbitMQ
四、部署Rabbitmq集群
1)部署環境
2)安裝rabbitmq服務
3)配置host文件,并將上述兩個節點加入集群
4)rabbitmq01配置群集并將rabbitmq02、03加入01群集
5)訪問web界面
6)web頁面添加vhost
五、單臺節點加入或退出群集
1)單節點加入集群
2)單節點退出集群

一、MQ簡介

MQ全稱為Message Queue, 消息隊列(MQ)是一種應用程序對應用程序的通信方法。應用程序通過讀寫出入隊列的消息(針對應用程序的數據)來通信,而無需專用連接來鏈接它們。消息傳遞指的是程序之間通過在消息中發送數據進行通信,而不是通過直接調用彼此來通信,直接調用通常是用于諸如遠程過程調用的技術。排隊指的是應用程序通過 隊列來通信。隊列的使用除去了接收和發送應用程序同時執行的要求。

二、什么是RabbitMQ?

RabbitMQ是由Erlang語言編寫的實現了高級消息隊列協議(AMQP)的開源消息代理軟件(也可稱為 面向消息的中間件)。支持Windows、Linux/Unix、MAC OS X操作系統和包括JAVA在內的多種編程語言。

AMQP,即Advanced Message Queuing Protocol,一個提供統一消息服務的應用層標準高級消息隊列協議,是應用層協議的一個開放標準,為面向消息的中間件設計。基于此協議的客戶端與消息中間件可傳遞消息,并不受客戶端/中間件不同產品,不同的開發語言等條件的限制。

RabbitMQ使用場景:
1)異步處理;
2)應用解耦;
3)流量削峰;
4)消息通訊;

三、安裝RabbitMQ

所需軟件下載鏈接:https://pan.baidu.com/s/1vopw5bvLX4gUkabSthI0hw 提取碼:ng8c

[root@localhost ~]# ls      #確認所需RPM包
erlang-18.1-1.el6.x86_64.rpm
rabbitmq-server-3.6.6-1.el6.noarch.rpm
socat-1.7.3.2-2.el7.x86_64.rpm
[root@localhost ~]# yum -y localinstall erlang-18.1-1.el6.x86_64.rpm rabbitmq-server-3.6.6-1.el6.noarch.rpm socat-1.7.3.2-2.el7.x86_64.rpm
#安裝RPM包
[root@localhost ~]# chkconfig rabbitmq-server on
#rabbitmq加入開機自啟
[root@localhost ~]# /etc/init.d/rabbitmq-server start
#啟動rabbitmq服務
[root@localhost ~]#  ps -ef | grep rabbitmq  
#確定rabbitmq正在運行,返回結果較多,省略
[root@localhost ~]# rabbitmq-plugins enable rabbitmq_management
#開啟rabbitmq的web管理插件,以便可以通過瀏覽器進行訪問
[root@localhost ~]#  rabbitmqctl add_user admin 123.com
#創建登錄用戶
#默認WEB管理的登錄帳號和密碼統一為:guest
[root@localhost ~]#  rabbitmqctl set_user_tags admin administrator
#將創建的admin用戶添加至administrator組

默認RabbitMQ擁有如下端口號:
Rabbitmq簡介及部署群集
一般常用就15672和5672!

客戶端訪問:
Rabbitmq簡介及部署群集
Rabbitmq簡介及部署群集

四、部署Rabbitmq集群

Rabbitmq集群大概分為兩種方式:
1、普通模式:默認的集群模式,消息的尸體只存在一個節點上;
2、鏡像模式:把需要的隊列做成鏡像,存在于多個節點。
ha-mode:
all:列隊到所有節點;
exatly:隨機鏡像到其他節點上;
nodes:鏡像到指定節點上。
集群節點模式:
1、內存節點:工作在內存上;
2、磁盤節點:工作在磁盤上;
例外:內存節點和磁盤節點共同存在,提高訪問速度的同時增加數據持久化。

相比內存節點雖然不寫入磁盤,但是它執行比磁盤節點要好,集群中,只需要一個磁盤來保存狀態就足夠了,如果集群中只有內存節點,那么節點一旦宕機,所有的狀態、消息都會丟失,無法實現數據的持久化。

1)部署環境

系統 IP地址 主機名
Centos 7 192.168.1.4 rabbitmq01
Centos 7 192.168.1.5 rabbitmq02
Centos 7 192.168.1.6 rabbitmq03
Centos 7 192.168.1.7 rabbitmq04

其中192.168.1.4就是基于上面的單臺rabbitmq做的。

2)安裝rabbitmq服務

在192.168.1.5和192.168.1.6兩個節點上部署,192.168.1.7稍后會用到!

[root@localhost ~]# ls      #確認所需RPM包
erlang-18.1-1.el6.x86_64.rpm
rabbitmq-server-3.6.6-1.el6.noarch.rpm
socat-1.7.3.2-2.el7.x86_64.rpm
[root@localhost ~]# yum -y localinstall erlang-18.1-1.el6.x86_64.rpm rabbitmq-server-3.6.6-1.el6.noarch.rpm socat-1.7.3.2-2.el7.x86_64.rpm
#安裝RPM包
[root@localhost ~]# chkconfig rabbitmq-server on
#rabbitmq加入開機自啟
[root@localhost ~]# /etc/init.d/rabbitmq-server start
#啟動rabbitmq服務

3)配置host文件,并將上述兩個節點加入集群

[root@localhost ~]# echo -e "192.168.1.4 rabbitmq01\n192.168.1.5 rabbitmq02\n192.168.1.6 rabbitmq03\n192.168.1.7 rabbitmq04" >> /etc/hosts
[root@localhost ~]# scp /etc/hosts root@192.168.1.5:/etc/
[root@localhost ~]# scp /etc/hosts root@192.168.1.6:/etc/
[root@localhost ~]# scp /etc/hosts root@192.168.1.7:/etc/
[root@localhost ~]# scp /var/lib/rabbitmq/.erlang.cookie root@192.168.1.5:/var/lib/rabbitmq/
[root@localhost ~]# scp /var/lib/rabbitmq/.erlang.cookie root@192.168.1.6:/var/lib/rabbitmq/
#將rabbitmq01的cookie節點信息復制到其他需要加入群集的節點
#部署群集的時候需要節點cookie信息一致

群集中的所有節點都需重啟(包括rabbitmq01)。若重啟過程中卡在某個界面,需手動強制重啟!

[root@rabbitmq01 ~]# ps -ef | grep rabbitmq
#重啟后,主機名自動更新了,確認了rabbitmq正在運行

4)rabbitmq01配置群集并將rabbitmq02、03加入01群集

以下操作可以根據主機名進行區分了!

[root@rabbitmq01 ~]# rabbitmqctl  stop_app   #停止rabbitmq節點服務
[root@rabbitmq01 ~]#  rabbitmqctl reset     #重置rabbitmq節點
[root@rabbitmq01 ~]# rabbitmqctl start_app    #啟動rabbit節點服務
Starting node rabbit@rabbitmq01 ... #復制返回的節點名稱
###########以下操作 rabbitmq02、03都需執行###########
[root@rabbitmq02 ~]# rabbitmqctl stop_app   #停止節點服務
[root@rabbitmq02 ~]# rabbitmqctl reset     #重置節點
[root@rabbitmq02 ~]# rabbitmqctl join_cluster --ram rabbit@rabbitmq01
#以內存方式加入群集,后面是復制的rabbitmq01的節點名
[root@rabbitmq02 ~]# rabbitmqctl start_app   
[root@rabbitmq02 ~]# rabbitmq-plugins enable rabbitmq_management
#開啟rabbitmq的web管理插件,以便可以通過瀏覽器進行訪問
###########rabbitmq02、03執行完成后#################
[root@rabbitmq01 ~]#  rabbitmqctl cluster_status
#查看群集狀態
Cluster status of node rabbit@rabbitmq01 ...
[{nodes,[{disc,[rabbit@rabbitmq01]},
         {ram,[rabbit@rabbitmq03,rabbit@rabbitmq02]}]},
 {running_nodes,[rabbit@rabbitmq02,rabbit@rabbitmq03,rabbit@rabbitmq01]},
 {cluster_name,<<"rabbit@rabbitmq01">>},
 {partitions,[]},
 {alarms,[{rabbit@rabbitmq02,[]},
          {rabbit@rabbitmq03,[]},
          {rabbit@rabbitmq01,[]}]}]
# rabbit01工作模式為磁盤節點;rabbit02和03為內存節點模式
# running_nodes:正在運行的節點
# cluster_name:節點名稱
# alarms:發生問題時rabbit01、02、03會進行報警
#####由于剛才rabbitmq01重置,所以需要重新創建用戶########
[root@rabbitmq01 ~]# rabbitmqctl add_user admin 123.com
[root@rabbitmq01 ~]# rabbitmqctl set_user_tags admin administrator

5)訪問web界面

群集內任意節點的IP+15672端口都可以進行登錄訪問!
Rabbitmq簡介及部署群集

6)web頁面添加vhost

Rabbitmq簡介及部署群集
Rabbitmq簡介及部署群集
Rabbitmq簡介及部署群集
Rabbitmq簡介及部署群集
設置匹配策略:
Rabbitmq簡介及部署群集
Rabbitmq簡介及部署群集
設置發布消息內容:
Rabbitmq簡介及部署群集
Rabbitmq簡介及部署群集
Rabbitmq簡介及部署群集

五、單臺節點加入或退出群集

1)單節點加入集群

由于我在上面部署群集時,hosts文件已經可以解析群集內的節點,所以這里就省略解析了!

#############在192.168.1.7服務器上操作###################
[root@localhost ~]#  yum -y localinstall erlang-18.1-1.el6.x86_64.rpm rabbitmq-server-3.6.6-1.el6.noarch.rpm socat-1.7.3.2-2.el7.x86_64.rpm
[root@localhost ~]# chkconfig rabbitmq-server on
[root@localhost ~]#  /etc/init.d/rabbitmq-server start
[root@localhost ~]# scp root@rabbitmq01:/var/lib/rabbitmq/.erlang.cookie /var/lib/rabbitmq/
#將群集中的cookie信息復制到本地,之后重啟
[root@rabbitmq04 ~]# rabbitmqctl stop_app
[root@rabbitmq04 ~]# rabbitmqctl reset
[root@rabbitmq04 ~]# rabbitmqctl join_cluster --ram rabbit@rabbitmq01
#以內存運行的方式加入群集,若要以磁盤的方式加入,省略“--ram”選項即可
[root@rabbitmq04 ~]# rabbitmqctl start_app
#開啟web管理頁面
[root@rabbitmq04 ~]# rabbitmq-plugins enable rabbitmq_management

查看web界面:
Rabbitmq簡介及部署群集

2)單節點退出集群

[root@rabbitmq04 ~]# rabbitmqctl stop_app
#先在rabbitmq04上面停止節點
[root@rabbitmq01 ~]# rabbitmqctl -n rabbit@rabbitmq01 forget_cluster_node rabbit@rabbitmq04
#-n:指定節點名稱
#forget_cluster_node:后面跟要刪除的節點名稱
#回到主節點(rabbitmq01)上刪除節點

查看web界面:
Rabbitmq簡介及部署群集

——————————本文到此結束,感謝閱讀—————————————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟源县| 屏边| 洪洞县| 罗城| 乌兰浩特市| 凉城县| 友谊县| 广昌县| 惠东县| 紫金县| 桓台县| 新民市| 岚皋县| 炎陵县| 安阳市| 肃北| 玉林市| 绍兴县| 城固县| 岳西县| 普兰县| 宽城| 金门县| 赤壁市| 南部县| 华蓥市| 通江县| 石屏县| 石阡县| 罗平县| 全州县| 临武县| 社旗县| 河曲县| 堆龙德庆县| 满城县| 个旧市| 延津县| 玛纳斯县| 田东县| 客服|