|
概述 本文重點介紹的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./”。 阿里云的鏡像市場: https://dev.aliyun.com/search.html 下載RabbitMQ鏡像1.鏡像地址 RabbitMQ Docker官方認證鏡像地址: 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 容器復制文件到物理機:docker cp 容器名稱:容器目錄 物理機目錄 物理機復制文件到容器:docker cp 物理機目錄 容器名稱:容器目錄 進入Docker目錄簡單的進入Docker容器的方法分為3種:
1.attachattach有一個缺點,當連接終止的時候,或者使用exit之后,容器就會退出后臺運行,所以不適合生產(chǎn)環(huán)境使用。既然不好用,我們在這里就不過多的介紹它了。 2.SSH按照之前我們使用liunx的習慣,使用ssh連接服務(wù)器似乎是一個很誘人的答案,但這樣做并不優(yōu)雅,也不是最佳的實踐方式,詳情點擊查看:https://blog.csdn.net/bolg_hero/article/details/50267103 3.execexec無疑是我們現(xiàn)階段最好的實踐方案,一起來看它是怎么使用的。 進入docker命令:
其中/bin/bash 也可能是/bin/sh. 使用docker exec --help查看更多命令,和命令說明。 退出docker:
啟動RabbitMQ
參數(shù)說明:
啟動完成之后,使用:docker ps 查看程序運行情況。 使用:http://宿主ip:15672 訪問,用戶名密碼使用默認:guest/guest. 啟動多個RabbitMQ
這樣我們就可以使用,http://宿主ip:15672 和 http://宿主ip:15673 進行訪問了,默認賬號密碼依舊是guest/guest. 搭建RabbitMQ集群步驟一:安裝RabbitMQ; 步驟二:加入RabbitMQ節(jié)點到集群; 步驟一:安裝RabbitMQ;
具體的參數(shù)含義,參見上文“啟動RabbitMQ”部分。 注意點:
步驟二:加入RabbitMQ節(jié)點到集群設(shè)置節(jié)點1:
設(shè)置節(jié)點2,加入到集群:
參數(shù)“--ram”表示設(shè)置為內(nèi)存節(jié)點,忽略次參數(shù)默認為磁盤節(jié)點。 設(shè)置節(jié)點3,加入到集群:
設(shè)置好之后,使用http://物理機ip:15672 進行訪問了,默認賬號密碼是guest/guest,效果如下圖: 啟動了3個節(jié)點,1個磁盤節(jié)點和2個內(nèi)存節(jié)點。 配置相同Erlang Cookie有些特殊的情況,比如已經(jīng)運行了一段時間的幾個單個物理機,我們在之前沒有設(shè)置過相同的Erlang Cookie值,現(xiàn)在我們要把單個的物理機部署成集群,實現(xiàn)我們需要同步Erlang的Cookie值。
因為RabbitMQ是用Erlang實現(xiàn)的,Erlang Cookie相當于不同節(jié)點之間相互通訊的秘鑰,Erlang節(jié)點通過交換Erlang Cookie獲得認證。
要想知道Erlang Cookie位置,首先要取得RabbitMQ啟動日志里面的home dir路徑,作為根路徑。使用:“docker logs 容器名稱”查看,如下圖: 所以Erlang Cookie的全部路徑就是“/var/lib/rabbitmq/.erlang.cookie”。 注意:每個人的erlang cookie位置可能不同,一定要查看自己的home dir路徑。
獲取到第一個RabbitMQ的Erlang Cookie之后,只需要把這個文件復制到其他RabbitMQ節(jié)點即可。 物理機和容器之間復制命令如下:
設(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:///2017/03/06/rabbitmq-cluster/ |
|
|