RabbitMQ集群部署,host方式

2021-09-12 13:13:31 字數 2771 閱讀 5881

docker主機 ip位址

172.19.184.202 rabbit1  rabbit1

172.19.184.201 rabbit2  rabbit2

第一步:獲取rabbitmq映象

docker pull rabbitmq:management
第二步:啟動mq

rabbit1:

172.19.184.202

rabbitmq集群建立需要解析主機名,因此需要一台內網dns,存在以下記錄(或者修改容器的hosts檔案),我這裡才用的是host方式

docker run -d --hostname rabbit1 --add-host=rabbit1:172.19.184.202 --add-host=rabbit2:172.19.184.201 --name rabbit1 -p 15672:15672 -p 5672:5672 -p 4369:4369 -p 5671:5671 -p 15671:15671 -p 25672:25672 -e rabbitmq_default_user=admin  -e rabbitmq_default_pass=password -e rabbitmq_erlang_cookie='rabbitcookie' docker.io/rabbitmq:management
引數說明:

-d

容器後台執行

--hostname rabbit1

容器的主機名為 rabbit1,容器內部的hostname

--add-host=rabbit1:172.19.184.202

--add-host=rabbit2:172.19.184.201

修改容器內部的hosts,沒有dns伺服器的話就這麼改

--name rabbit1

容器名為rabbit1,在宿主機上執行「docker ps」命令時顯示的名稱

--log-opt max-size=10m

日誌檔案單個最大10m

--log-opt max-file=3

日誌檔案最多保留3個

-p "4369:4369"

對映宿主機埠4369到容器埠4369,主機埠在前

-p "5671:5671"

略-p "5672:5672"

略-p "15671:15671"

略-p "15672:15672"

略-p "25672:25672"

略-v /data/rabbitmq:/var/lib/rabbitmq:z

將宿主機目錄/data/rabbitmq掛載到容器的/var/lib/rabbitmq目錄。z是乙個標記,在selinux環境下使用。

-e rabbitmq_default_user=user01

設定rabbitmq預設使用者為user01

-e rabbitmq_default_pass=password01

設定rabbitmq預設密碼為password01

-e rabbitmq_erlang_cookie='rabbitcookie'

設定rabbitmq的cookie為「rabbitcookie」,可以自定義為其他文字,三個容器保持一致即可。

docker.io/rabbitmq:management

使用docker.io/rabbitmq:management這個映象

進入到容器內部:

docker exec -it rabbit1 /bin/bash

rabbitmqctl change_password admin password123

rabbitmqctl set_user_tags admin administrator

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

rabbitmqctl list_users

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

rabbitmqctl reset

chmod 600 /var/lib/rabbitmq/.erlang.cookie

在第二台伺服器上安裝mq

rabbit2:172.19.184.201

docker run -d --hostname rabbit2 --add-host=rabbit1:172.19.184.202 --add-host=rabbit2:172.19.184.201 --name rabbit2 -p 15672:15672 -p 5672:5672 -p 4369:4369 -p 5671:5671 -p 15671:15671 -p 25672:25672 -e rabbitmq_default_user=admin  -e rabbitmq_default_pass=password  -e rabbitmq_erlang_cookie='rabbitcookie' docker.io/rabbitmq:management
把rabbit2新增到集群(以記憶體節點方式加入)

docker exec -it rabbit2 /bin/bash

rabbitmqctl reset

rabbitmqctl join_cluster --ram rabbit@rabbit1

把rabbit2新增到集群(以磁碟方式加入)

rabbitmqctl reset

rabbitmqctl join_cluster rabbit@rabbit1

RabbitMQ集群部署

第一步 獲取rabbitmq映象 docker pull rabbitmq management第二步 啟動mq docker run d hostname rabbit1 name myrabbit1 p 15672 15672 p 5672 5672 e rabbitmq erlang cook...

RabbitMQ集群部署

環境 ip主機名 作業系統 10.0.0.1 test1 centos7.2 10.0.0.2 test2 centos7.2 10.0.0.3 test3 centos7.2 一 安裝依賴環境。yum y install gcc glibc devel make ncurses devel ope...

Rabbitmq映象集群部署

位址 環境 兩台伺服器作為兩個節點,把node 003加入node 002 192.168.95.129 node 002 192.168.95.130 node 003 1.配置環境host,兩個節點的host都需要包含每個節點的資訊,資訊要一致。下面是在node 002中的操作。node 003...