免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用Docker部署RabbitMQ集群

概述

本文重點介紹的Docker的使用,以及如何部署RabbitMQ集群,最基礎(chǔ)的Docker安裝,本文不做過多的描述,讀者可以自行度娘。

Windows10上Docker的安裝

因為本人用的是Windows系統(tǒng),所有推薦一個不錯的安裝文章,詳見:

https://blog.csdn.net/xiaoping0915/article/details/75094857

注意:設(shè)置阿里云Docker Hub加速,配置Registry mirrors地址

“https://j0andt2p.mirror.aliyuncs.com/”。

阿里云的鏡像市場:

https://dev.aliyun.com/search.html

下載RabbitMQ鏡像

1.鏡像地址

RabbitMQ Docker官方認(rèn)證鏡像地址:

https://dev.aliyun.com/detail.html?spm=5176.1971733.2.16.6c045aaaDxFoMn&repoId=1256

2.安裝命令

安裝之前,切記把Docker Hub設(shè)置為阿里云的加速,方便安裝。

docker pull rabbitmq:3.6.15-management

注意使用后綴為'-management'的鏡像版本,是包含網(wǎng)頁控制臺的。

3.查看安裝

使用命令:docker images查看下載的鏡像,如下圖所示:

Docker常用命令

容器停止:docker stop 容器名稱

啟動容器:docker start 容器名稱

刪除容器:docker rm 容器名稱

刪除鏡像:docker rmi 鏡像名稱

查看運行的所有容器:docker ps

查看所有容器:docker ps -a

容器復(fù)制文件到物理機:docker cp 容器名稱:容器目錄 物理機目錄

物理機復(fù)制文件到容器:docker cp 物理機目錄 容器名稱:容器目錄

進(jìn)入Docker目錄

簡單的進(jìn)入Docker容器的方法分為3種:

  1. 使用attach

  2. 使用SSH

  3. 使用exec

1.attach

attach有一個缺點,當(dāng)連接終止的時候,或者使用exit之后,容器就會退出后臺運行,所以不適合生產(chǎn)環(huán)境使用。既然不好用,我們在這里就不過多的介紹它了。

2.SSH

按照之前我們使用liunx的習(xí)慣,使用ssh連接服務(wù)器似乎是一個很誘人的答案,但這樣做并不優(yōu)雅,也不是最佳的實踐方式,詳情點擊查看:https://blog.csdn.net/bolg_hero/article/details/50267103

3.exec

exec無疑是我們現(xiàn)階段最好的實踐方案,一起來看它是怎么使用的。

進(jìn)入docker命令:

docker exec -it /bin/bash

其中/bin/bash 也可能是/bin/sh.

使用docker exec --help查看更多命令,和命令說明。

退出docker:

exit

啟動RabbitMQ

docker run -d --hostname localhost --name myrabbit -p 15672:15672 -p 5672:5672 rabbitmq:3.6.15-management

參數(shù)說明:

  • -d 后臺進(jìn)程運行

  • hostname RabbitMQ主機名稱

  • name 容器名稱

  • -p port:port 本地端口:容器端口

  • -p 15672:15672 http訪問端口

  • -p 5672:5672 amqp訪問端口

啟動完成之后,使用:docker ps 查看程序運行情況。

使用:http://宿主ip:15672 訪問,用戶名密碼使用默認(rèn):guest/guest.

啟動多個RabbitMQ

  • docker run -d --hostname localhost --name myrabbit -p 15672:15672 -p 5672:5672 rabbitmq:3.6.15-management

  • docker run -d --hostname localhost2 --name myrabbit2 -p 15673:15672 -p 5673:5672 rabbitmq:3.6.15-management

這樣我們就可以使用,http://宿主ip:15672 和 http://宿主ip:15673 進(jìn)行訪問了,默認(rèn)賬號密碼依舊是guest/guest.

搭建RabbitMQ集群

步驟一:安裝RabbitMQ;

步驟二:加入RabbitMQ節(jié)點到集群;

步驟一:安裝RabbitMQ;

docker run -d --hostname rabbit1 --name myrabbit1 -p 15672:15672 -p 5672:5672 -e RABBITMQERLANGCOOKIE='rabbitcookie' rabbitmq:3.6.15-management

docker run -d --hostname rabbit2 --name myrabbit2 -p 5673:5672 --link myrabbit1:rabbit1 -e RABBITMQERLANGCOOKIE='rabbitcookie' rabbitmq:3.6.15-management

docker run -d --hostname rabbit3 --name myrabbit3 -p 5674:5672 --link myrabbit1:rabbit1 --link myrabbit2:rabbit2 -e RABBITMQERLANGCOOKIE='rabbitcookie' rabbitmq:3.6.15-management

具體的參數(shù)含義,參見上文“啟動RabbitMQ”部分。

注意點:

  1. 多個容器之間使用“--link”連接,此屬性不能少;

  2. Erlang Cookie值必須相同,也就是RABBITMQERLANGCOOKIE參數(shù)的值必須相同,原因見下文“配置相同Erlang Cookie”部分;

步驟二:加入RabbitMQ節(jié)點到集群

設(shè)置節(jié)點1:

docker exec -it myrabbit1 bash rabbitmqctl stopapp rabbitmqctl reset rabbitmqctl startapp exit

設(shè)置節(jié)點2,加入到集群:

docker exec -it myrabbit2 bash rabbitmqctl stopapp rabbitmqctl reset rabbitmqctl joincluster --ram rabbit@rabbit1 rabbitmqctl start_app exit

參數(shù)“--ram”表示設(shè)置為內(nèi)存節(jié)點,忽略次參數(shù)默認(rèn)為磁盤節(jié)點。

設(shè)置節(jié)點3,加入到集群:

docker exec -it myrabbit3 bash rabbitmqctl stopapp rabbitmqctl reset rabbitmqctl joincluster --ram rabbit@rabbit1 rabbitmqctl start_app exit

設(shè)置好之后,使用http://物理機ip:15672 進(jìn)行訪問了,默認(rèn)賬號密碼是guest/guest,效果如下圖:

啟動了3個節(jié)點,1個磁盤節(jié)點和2個內(nèi)存節(jié)點。

配置相同Erlang Cookie

有些特殊的情況,比如已經(jīng)運行了一段時間的幾個單個物理機,我們在之前沒有設(shè)置過相同的Erlang Cookie值,現(xiàn)在我們要把單個的物理機部署成集群,實現(xiàn)我們需要同步Erlang的Cookie值。

1.為什么要配置相同的erlang cookie?

因為RabbitMQ是用Erlang實現(xiàn)的,Erlang Cookie相當(dāng)于不同節(jié)點之間相互通訊的秘鑰,Erlang節(jié)點通過交換Erlang Cookie獲得認(rèn)證。

2.Erlang Cookie的位置

要想知道Erlang Cookie位置,首先要取得RabbitMQ啟動日志里面的home dir路徑,作為根路徑。使用:“docker logs 容器名稱”查看,如下圖:

所以Erlang Cookie的全部路徑就是“/var/lib/rabbitmq/.erlang.cookie”。

注意:每個人的erlang cookie位置可能不同,一定要查看自己的home dir路徑。

3.復(fù)制Erlang Cookie到其他RabbitMQ節(jié)點

獲取到第一個RabbitMQ的Erlang Cookie之后,只需要把這個文件復(fù)制到其他RabbitMQ節(jié)點即可。

物理機和容器之間復(fù)制命令如下:

  • 容器復(fù)制文件到物理機:docker cp 容器名稱:容器目錄 物理機目錄

  • 物理機復(fù)制文件到容器:docker cp 物理機目錄 容器名稱:容器目錄

設(shè)置Erlang Cookie文件權(quán)限:

“chmod 600 /var/lib/rabbitmq/.erlang.cookie”。

參考資料

https://blog.csdn.net/xiaoping0915/article/details/75094857

https://blog.csdn.net/luosai19910103/article/details/78604692

https://blog.csdn.net/bolg_hero/article/details/50267103

http://ivivisoft.com/2017/03/06/rabbitmq-cluster/


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Rabbitmq的安裝及集群環(huán)境的搭建
RabbitMQ集群環(huán)境生產(chǎn)實例部署
rabbitmq集群部署及配置
深入理解消息中間件技術(shù)之RabbitMQ服務(wù)
Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安裝及配置
深度解析RabbitMQ集群——超大規(guī)模高可用OpenStack平臺核心技術(shù)深入解析系列高級篇(三)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服