rabbitmq集群配置

ops/2024/10/22 4:58:02/

1,配置环境变量

MY_POD_NAME:当前Pod的名称

RABBITMQ_ERLANG_COOKIE:设置Erlang Cookie用于节点间通信安全验证,值来自/nfs/rabbitmq/lib/.erlang.cookie文件内容

RABBITMQ_NODENAME:根据Pod名称动态生成了RabbitMQ节点的名称

2,配置postStart函数,在Pod容器启动后执行的命令:脚本主要用于在RabbitMQ容器启动后,配置DNS,然后等待RabbitMQ服务启动并健康检查,最后判断并处理节点是否已加入集群的情况

lifecycle:
          postStart:
            exec:
              command:
              /bin/sh
              - -c
              - >
                if [ -z "$(grep rabbitmq /etc/resolv.conf)" ]; then
                  sed "s/^search \([^ ]\+\)/search rabbitmq.\1 \1/" /etc/resolv.conf > /etc/resolv.conf.new;
                  cat /etc/resolv.conf.new > /etc/resolv.conf;
                  rm /etc/resolv.conf.new;
                fi;
                until rabbitmqctl node_health_check; do sleep 1; done;
                if [ -z "$(rabbitmqctl cluster_status | grep rabbitmq-0)" ]; then
                  touch /gotit
                  rabbitmqctl stop_app;
                  rabbitmqctl reset;
                  rabbitmqctl join_cluster rabbit@rabbitmq-0;
                  rabbitmqctl start_app;
                else
                  touch /notget
                fi;
特别注意:rabbitmq是服务名称,这个服务包含4369和25672端口号

3,配置service

端口号4369:Erlang Port Mapping Daemon (epmd)端口,用于Erlang节点之间的发现。

端口号25672:Erlang分布服务间通信端口,在RabbitMQ集群配置中用于节点间的通信。

以上配置完成后,可启用多个pods实例


http://www.ppmy.cn/ops/18930.html

相关文章

国产麒麟v10系统下打包electron+vue程序,报错unknown output format set

报错如下: 报错第一时间想到可能是代码配置原因报错,查看代码似乎感觉没啥问题 又查看具体报错原因可能是因为icon的原因报错,后面查阅发现ico在各系统平台会不兼容,也就是ico是给win下使用的,此处改下图标格式就ok&am…

新时代凌迟:考研

我不喜欢上班,但我很欣赏老板的品味,因为咱们公司竟然还在订阅报纸,而且只有一份,《中国青年报》。 这份报纸我最喜欢看的是“冰点周刊”专栏,因为这个栏目能让读者相信:报纸远远可以超越一天的生命。 昨天…

​「Python大数据」词频数据渲染词云图导出HTML

前言 本文主要介绍通过python实现数据聚类、脚本开发、办公自动化。词频数据渲染词云图导出HTML。 一、业务逻辑 读取voc数据采集的数据批处理,使用jieba进行分词,去除停用词词频数据渲染词云图将可视化结果保存到HTML文件中二、具体产出 三、执行脚本 python wordCloud.p…

go 安装软件报go.mod file not found

执行 go get -u github.com/go-sql-driver/mysql 下载mysql 报错 解决方法: 控制台:输入go env 返回如下: 红圈值为NUL,需要设置GOMOD的值, 然后再控制台执行 (1)mkdir mod (2)go mod init mod 然后再执行下载&…

vue使用外部的模板

在 Vue 2 中,如果你希望使用外部的 HTML 文件内容作为模板,有几种方法可以实现,但每种方法都有其局限性或需要注意的事项。下面是一些可能的方法: 1. 使用 AJAX 加载外部 HTML 你可以使用 AJAX 来异步加载外部的 HTML 文件&…

Maven基础篇5

私服 私服目的,方便公司内计算机通信,方便程序员们开发时资源互换; 1.Nexus私服 https://help.sonatype.com/repomanager3/download 可下载,第一个是服务器,第二个是工作空间 bin中有可执行命令 nexus.exe/run端口…

[C++学习记录]---实现写文件和读文件

前言 C中写文件和读文件基本原理。都是通过文件流对象来实现的&#xff0c;可以通过适当的打开模式来控制文件的读写行为。 正文 01-写文件 具体代码解释如下&#xff1a; 包含头文件&#xff1a; 首先需要包含 <fstream> 头文件&#xff0c;这个头文件包含了对…

51-44 Generating Long Videos of Dynamic Scenes,生成动态场景长视频

22年6月&#xff0c;NVIDIA, UC Berkeley联合发布Generating Long Videos of Dynamic Scenes&#xff0c;这也是Sora技术报告中提及的32篇论文之一。 作者的主要贡献是提出了分层生成器架构Hierarchical Generator Architecture&#xff0c;该架构采用了巨大的时间感受野和创新…