一、集群的安裝部署
我們還是利用docker來(lái)安裝RabbitMQ集群。3分鐘安裝一個(gè)集群,開(kāi)始。
前提條件,docker安裝了docker-compose。如果沒(méi)安裝的話(huà),參考這里
docker-compose文件參考bitnami官網(wǎng):https://github.com/bitnami/containers/tree/main/bitnami/rabbitmq#setting-up-a-cluster
這是最簡(jiǎn)單的方式安裝一個(gè)RabbitMQ集群
docker-compose.yml如下:
version: '2'
services:
stats:
image: bitnami/rabbitmq
environment:
- RABBITMQ_NODE_TYPE=stats
- RABBITMQ_NODE_NAME=rabbit@stats
- RABBITMQ_ERL_COOKIE=s3cr3tc00ki3
ports:
- '15672:15672'
volumes:
- 'rabbitmqstats_data:/bitnami/rabbitmq/mnesia'
queue-disc1:
image: bitnami/rabbitmq
environment:
- RABBITMQ_NODE_TYPE=queue-disc
- RABBITMQ_NODE_NAME=rabbit@queue-disc1
- RABBITMQ_CLUSTER_NODE_NAME=rabbit@stats
- RABBITMQ_ERL_COOKIE=s3cr3tc00ki3
volumes:
- 'rabbitmqdisc1_data:/bitnami/rabbitmq/mnesia'
queue-ram1:
image: bitnami/rabbitmq
environment:
- RABBITMQ_NODE_TYPE=queue-ram
- RABBITMQ_NODE_NAME=rabbit@queue-ram1
- RABBITMQ_CLUSTER_NODE_NAME=rabbit@stats
- RABBITMQ_ERL_COOKIE=s3cr3tc00ki3
volumes:
- 'rabbitmqram1_data:/bitnami/rabbitmq/mnesia'
volumes:
rabbitmqstats_data:
driver: local
rabbitmqdisc1_data:
driver: local
rabbitmqram1_data:
driver: local
新建docker-compose.yml
我新建了一個(gè)目錄mycompose,進(jìn)入到這個(gè)目錄,然后用上面的yml新建一個(gè)文件
用cat命令,輸出到docker-compose.yml
[root@localhost mycompose]# cat >> docker-compose.yml << EOF
> version: '2'
>
> services:
> stats:
> image: bitnami/rabbitmq
> environment:
> - RABBITMQ_NODE_TYPE=stats
> - RABBITMQ_NODE_NAME=rabbit@stats
> - RABBITMQ_ERL_COOKIE=s3cr3tc00ki3
> ports:
> - '15672:15672'
> volumes:
> - 'rabbitmqstats_data:/bitnami/rabbitmq/mnesia'
> queue-disc1:
> image: bitnami/rabbitmq
> environment:
> - RABBITMQ_NODE_TYPE=queue-disc
> - RABBITMQ_NODE_NAME=rabbit@queue-disc1
> - RABBITMQ_CLUSTER_NODE_NAME=rabbit@stats
> - RABBITMQ_ERL_COOKIE=s3cr3tc00ki3
> volumes:
> - 'rabbitmqdisc1_data:/bitnami/rabbitmq/mnesia'
> queue-ram1:
> image: bitnami/rabbitmq
> environment:
> - RABBITMQ_NODE_TYPE=queue-ram
> - RABBITMQ_NODE_NAME=rabbit@queue-ram1
> - RABBITMQ_CLUSTER_NODE_NAME=rabbit@stats
> - RABBITMQ_ERL_COOKIE=s3cr3tc00ki3
> volumes:
> - 'rabbitmqram1_data:/bitnami/rabbitmq/mnesia'
>
> volumes:
> rabbitmqstats_data:
> driver: local
> rabbitmqdisc1_data:
> driver: local
> rabbitmqram1_data:
> driver: local
> EOF
[root@localhost mycompose]# ls -al
總用量 4
drwxr-xr-x. 2 root root 32 9月 24 21:26 .
dr-xr-x---. 6 root root 254 9月 24 21:23 ..
-rw-r--r--. 1 root root 1017 9月 24 21:26 docker-compose.yml
查看文件,建好了
[root@localhost mycompose]# ls -al
總用量 4
drwxr-xr-x. 2 root root 32 9月 24 21:26 .
dr-xr-x---. 6 root root 254 9月 24 21:23 ..
-rw-r--r--. 1 root root 1017 9月 24 21:26 docker-compose.yml
在當(dāng)前目錄執(zhí)行docker-compose up
[root@localhost mycompose]# docker-compose up
執(zhí)行效果如下:
啟動(dòng)完成后,發(fā)現(xiàn)確實(shí)是啟了三個(gè)RabbitMQ的容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a8abe421a79a bitnami/rabbitmq "/opt/bitnami/script…" 2 minutes ago Up 2 minutes 4369/tcp, 5551-5552/tcp, 5671-5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp mycompose-stats-1
d797db9bbbbb bitnami/rabbitmq "/opt/bitnami/script…" 2 minutes ago Up 2 minutes 4369/tcp, 5551-5552/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp mycompose-queue-ram1-1
7ed4e7406553 bitnami/rabbitmq "/opt/bitnami/script…" 2 minutes ago Up 2 minutes 4369/tcp, 5551-5552/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp mycompose-queue-disc1-1
進(jìn)入其中一個(gè)容器
如上面所示,我們進(jìn)入ID為a8abe421a79a的容器。
[root@localhost ~]# docker exec -it a8a /bin/bash
查看集群狀態(tài)
I have no name!@a8abe421a79a:/$ rabbitmqctl cluster_status
Cluster status of node rabbit@stats ...
Basics
Cluster name: rabbit@a8abe421a79a
Disk Nodes
rabbit@queue-disc1
rabbit@stats
RAM Nodes
rabbit@queue-ram1
Running Nodes
rabbit@queue-disc1
rabbit@queue-ram1
rabbit@stats
Versions
rabbit@queue-disc1: RabbitMQ 3.9.11 on Erlang 24.2
rabbit@queue-ram1: RabbitMQ 3.9.11 on Erlang 24.2
rabbit@stats: RabbitMQ 3.9.11 on Erlang 24.2
Maintenance status
Node: rabbit@queue-disc1, status: not under maintenance
Node: rabbit@queue-ram1, status: not under maintenance
Node: rabbit@stats, status: not under maintenance
Alarms
(none)
Network Partitions
(none)
Listeners
Node: rabbit@queue-disc1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@queue-disc1, interface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP
Node: rabbit@queue-disc1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@queue-ram1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@queue-ram1, interface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP
Node: rabbit@queue-ram1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@stats, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit@stats, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@stats, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Feature flags
Flag: drop_unroutable_metric, state: enabled
Flag: empty_basic_get_metric, state: enabled
Flag: implicit_default_bindings, state: enabled
Flag: maintenance_mode_status, state: enabled
Flag: quorum_queue, state: enabled
Flag: stream_queue, state: enabled
Flag: user_limits, state: enabled
Flag: virtual_host_metadata, state: enabled
進(jìn)入控制臺(tái):http://192.168.56.201:15672/#/
賬號(hào)默認(rèn)是:用戶(hù)名:user,密碼:bitnami
如果想停止當(dāng)前集群,可以用docker-compose down命令。
常用命令如下
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
部分命令選項(xiàng)如下:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-730395.html
-f,–file:指定使用的 Compose 模板文件,默認(rèn)為 docker-compose.yml,可以多次指定,指定多個(gè) yml;
-p, --project-name:指定工程名稱(chēng),默認(rèn)使用 docker-compose.yml 文件所在目錄的名稱(chēng);
-v:打印版本并退出;
–log-level:定義日志等級(jí)(DEBUG, INFO, WARNING, ERROR, CRITICAL)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-730395.html
到了這里,關(guān)于【RabbitMQ實(shí)戰(zhàn)】07 3分鐘部署一個(gè)RabbitMQ集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!