docker-compose部署MySQL高可用工具orchestrator

news/2024/9/19 18:37:37/ 标签: docker, mysql, 容器

主要对一个MySQL主从架构部署orchestartor进行高可用验证,orchestrator部署在主从架构的从节点上,当然最好是部署在其他机器上,后端数据库采用的直接是MySQL的从库,所以没有创建orchestrator的后端数据库的流程。

创建yaml文件

mkidr /opt/orche
cd /opt/orche
vim docker-compose.yml
注意网络应该与mysql的节点网络相同

version: '2'services:orchestrator:image: openarkcode/orchestrator:latestcontainer_name: orchestratorports:- "3001:3000"  # Orchestrator Web UIvolumes:- ./orchestrator.conf.json:/etc/orchestrator.conf.jsonenvironment:- MYSQL_TOPOLOGY_USER=orche- MYSQL_TOPOLOGY_PASSWORD=Tgqs@123networks:- mysql_netdepends_on:- mysql-master- mysql-slavenetworks:mysql_net:driver: bridge

创建配置文件

vim orchestrator.conf.json

{"Debug": true,"MySQLTopologyUser": "orche", #登录主从数据库的用户"MySQLTopologyPassword": "Tgqs@123",#登录主从数据库的密码"AutoMasterRecovery": true,"FailMasterPromotionIfSQLThreadNotUpToDate": true,"InstancePollSeconds": 10,"DiscoveryPollSeconds": 10,"UnseenInstanceForgetHours": 240,"HostnameResolveMethod": "default", #不设置为none默认都是主机名,选择none不认证主机名"MySQLHostnameResolveMethod": "@@hostname",#"MySQLOrchestratorHost": "172.16.208.13", #后端数据库的地址"MySQLOrchestratorPort": 3306,"MySQLOrchestratorDatabase": "orcdb",#后端数据库存放位置"MySQLOrchestratorUser": "orche",,#后端数据库用户名"MySQLOrchestratorPassword": "Tgqs@123","AuthenticationMethod": "basic",#登录验证开启,关闭设为空置"HTTPAuthUser": "admin",#用户名"HTTPAuthPassword": "Tgqs@123",#密码"FailureDetectionPeriodBlockMinutes": 60,"RecoverMasterClusterFilters": ["*"], #自动主从切换"RecoverIntermediateMasterClusterFilters": ["*"],"ClusterNameToAlias": {"127.0.0.1": "test suite"}

如果想让web界面显示ip地址修改两个参数

“HostnameResolveMethod”: “none”,
“MySQLHostnameResolveMethod”: “”,

进入mysql主节点的容器,从节点不用创建可能报错

create user ‘orche’@‘%’ identified by ‘Tgqs@123’;
GRANT ALL PRIVILEGES ON . TO ‘orche’@‘%’;

进入MySQL的从节点的容器

create database orche;

在从节点的compose文件夹

docker-compose up -d
docker ps
#如果没有启动查看日志情况

进入文本界面

在这里插入图片描述
discover 输入主节点
在这里插入图片描述
在这里插入图片描述
可以直接在这个也没进行开启关闭复制操作,不用再进到容器
在这里插入图片描述

验证故障转移情况

docker stop mysql-master
#进入mysql从节点

在这里插入图片描述

docker exec -it mysql-slave mysql -uroot -p
#查看是否是个空值
show slave status \G;
#查看是否为主节点

show master status \G;

在这里插入图片描述

#手动将从节点升级为主节点
change master to
master_host=‘172.16.208.12’,
master_user=‘replica’,
master_password=‘Tgqs@123’,
MASTER_LOG_FILE=‘mysql-bin.00001’,#重新查看binlog文件名
MASTER_LOG_POS=157; #重新查看文件位置
show slave status \G;


常见的web界面故障显示

\- DeadMaster 主节点故障
\- DeadMasterAndReplicas 主节点和副本节点故障
\- DeadMasterAndSomeReplicas 主节点和部分副本节点故障
\- DeadMasterWithoutReplicas 主节点没有副本节点
\- UnreachableMasterWithLaggingReplicas 无法访问的主节点且存在滞后的副本节点
\- UnreachableMaster 无法访问的主节点
\- LockedSemiSyncMaster 被锁定的半同步主节点
\- MasterWithTooManySemiSyncReplicas 主节点具有过多的半同步副本
\- AllMasterReplicasNotReplicating 所有主节点副本均未进行复制
\- AllMasterReplicasNotReplicatingOrDead 所有主节点副本未进行复制或停止工作
\- DeadCoMaster 协同主节点故障
\- DeadCoMasterAndSomeReplicas 协同主节点和部分副本节点故障
\- DeadIntermediateMaster 中间主节点故障
\- DeadIntermediateMasterWithSingleReplicaFailingToConnect 中间主节点故障且单个副本无法连接
\- DeadIntermediateMasterWithSingleReplica 中间主节点故障且只有一个副本节点
\- DeadIntermediateMasterAndSomeReplicas 中间主节点和部分副本节点故障
\- DeadIntermediateMasterAndReplicas 中间主节点和副本节点故障
\- AllIntermediateMasterReplicasFailingToConnectOrDead 所有中间主节点副本无法连接或停止工作
\- AllIntermediateMasterReplicasNotReplicating 所有中间主节点副本未进行复制
\- UnreachableIntermediateMasterWithLaggingReplicas 无法访问的中间主节点且存在滞后的副本节点
\- UnreachableIntermediateMaster 无法访问的中间主节点
\- BinlogServerFailingToConnectToMaster Binlog服务器无法连接到主节点
主节点意外使用change master to

到主节点上
stop slave;
reset slave all;
show slave status \G; #为空

change master to
master_host=‘172.16.208.12’,
master_user=‘replica’,
master_password=‘Tgqs@123’,
MASTER_LOG_FILE=‘mysql-bin.000117’,
MASTER_LOG_POS=157 ;
show slave status \G;


http://www.ppmy.cn/news/1524348.html

相关文章

Web安全之XSS跨站脚本攻击:如何预防及解决

1. 什么是XSS注入 XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的Web安全漏洞,通过注入恶意代码(通常是JavaScript)到目标网站的网页中,以此在用户浏览网页时执行。攻击者可以通过XSS获取…

【人脸检测】SCRFD:训练数据采样和计算分配策略结合的高效人脸检测方法

Sample and Computation Redistribution for Efficient Face Detection 论文链接:http://arxiv.org/abs/2105.04714 代码链接:https://github.com/deepinsight/insightface/tree/master/detection/scrfd 一、摘要 文中指出训练数据采样和计算分配策略…

Rust 变量基础知识

文章目录 发现宝藏一、 Rust变量与可变性二、变量与常量三、变量隐藏(shadowing) 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 一、 Rust变量与可变性…

Zabbix自定义监控项与触发器

当我们需要获取某台主机上的数据时,直接利用 zabbix 提供的模板可以很方便的获得需要的数据,但是有些特别的数据,利用这些现有的模板或监控项是无法实现的,例如网站状态信息的监控、mysql数据库主从状态等信息。这是就需要自己定义键值和监控…

【玩转贪心算法专题】406. 根据身高重建队列【中等】

【玩转贪心算法专题】406. 根据身高重建队列【中等】 1、力扣链接 https://leetcode.cn/problems/queue-reconstruction-by-height/ 2、题目描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。…

反激电路的参数设计,基于TI-UC3843芯片,Simplis仿真验证

采用TI官方提供的UC3843芯片手册给的DEMO图,通过MATHCAD计算参数得出环路补偿的各项参数,最后使用simplis进行仿真验证,一起进行学习吧。 UCx84x 电流模式 PWM 控制器 datasheet (Rev. G) (semiee.com) UCx84x 系列控制集成电路提供了实现离…

HCIP--<OSPF2>

目录 一,OSPF的不规则区域 1)远离骨干区域的非骨干区域 2)不连续骨干区域(和上面一样) 二,OSPF数据库表 三。优化OSPF的LSA(缺少LSA的更新量) [1]手工汇总:减少骨干区域的LSA [2]特殊区域&…

零基础小白能学网络安全吗?

最近看到很多朋友都在问“零基础能学网络安全吗?” 今天整一篇帮大家分析一下,希望对你有帮助。 首先,问出这个问题的朋友,我大致判断一下,你对网络安全并不了解,只是单纯看到某个视频某篇文章&#xff0…

React第四章(babel)

Babel 什么是Babel? Babel 是一个 JavaScript 编译器,提供了JavaScript的编译过程,能够将源代码转换为目标代码。 AST -> Transform -> Generate 官网 https://babeljs.io/ 查看AST https://astexplorer.net/ Babel所有的包 https://babeljs.io/docs/ba…

Spring Boot事务管理

事务管理 事务进阶 如果在删除了部门之后,出现了异常。那么就会出现部门被删除之后其中的员工并未被删除。 Transactional注解,在事务执行完成之后自动提交或者回滚。只需要在执行多次数据修改的事务上加上该注解即可。(比如两次Update或者…

[hadoop全分布部署]安装Hadoop、配置Hadoop 配置文件②_core-site

hadoop.tmp.dir file:/opt/module/hadoop/tmp ![564f66a5de794bb2a022a0bd193eecbd.png](https://img-blog.csdnimg.cn/564f66a5de794bb2a022a0bd193eecbd.png)****注:I********P********地址是master的****### ******二、配置 mapred-site.xml********&#xff08…

828华为云征文 | 云上私人数据管家,jMalCloud个人网盘在华为云Flexus的Docker化部署实践

华为云服务器Flexus X实例介绍 华为云Flexus云服务器X实例,是由国家科技进步奖获得者、华为公司Fellow、华为云首席架构师顾炯炯牵头研发。它基于擎天QingTian架构、瑶光云脑、盘古大模型等根技术创新,是业界首款应用驱动的柔性算力云服务器,…

Java中的内存模型与并发编程优化

Java中的内存模型与并发编程优化 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在Java开发中,内存模型和并发编程优化是提高应用性能和稳定性的关键。Java内存模型(Java Me…

ALIENTEK电容按键按键的介绍与驱动代码

目录 前言 电容触摸按键原理 硬件接线 检测电容触摸按键过程 驱动代码 tpad.h tpad.c main.c 按键扫描函数 前言 我没有独立的电容触摸按键模块,所以使用正点原子STM32F103ZET6精英版开发板上的电容触摸按键。采用STM32F103C8T6检测电容触摸按键&#…

grep和zgrep命令的简单使用-可以查看日志内容

在 Linux 系统中,grep 和 zgrep 是两个非常有用的文本搜索工具,它们用于搜索文件中的文本模式: grep grep 是一个强大的文本搜索工具,用于搜索文件中匹配特定模式的行。它的基本语法如下: grep [选项] 模式 文件名基…

在LEMP服务器上安装phpMyAdmin的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 关于 phpMyAdmin phpMyAdmin 是一个免费的软件,用于在 web 上操作 MySQL,它为 MySQL 的功能提供了一个方便的可…

源代码保密:探索沙箱环境加密的优势

在数字化时代,源代码保密对于企业而言至关重要,它不仅关系到企业的核心竞争力,还涉及到知识产权的保护和商业利益的安全。深信达的沙箱防泄密软件(SDC沙盒)为源代码保密提供了一种有效的解决方案。以下是结合深信达沙箱…

Apache SeaTunnel基础介绍

一、什么是Apache SeaTunnel? Apache SeaTunnel(最初名为Waterdrop)是一个开源的分布式数据集成平台,专为大规模数据处理设计。SeaTunnel可以从多种数据源读取数据,进行实时流式处理或批处理,然后将处理后…

opencv之Canny边缘检测

文章目录 前言1.应用高斯滤波去除图像噪声2.计算梯度3.非极大值抑制4.应用双阈值确定边缘5.Canny函数及使用 前言 Canny边缘检测是一种流行的边缘检测算法,用于检测图像中的边缘。它通过一系列步骤将图像中的像素边缘突出显示出来,主要分为以下几个步骤…

0x07 Nginx越界读取缓存漏洞 CVE-2017-7529 复现

参考: Nginx越界读取缓存漏洞 CVE-2017-7529 | PeiQi文库 (wgpsec.org)Nginx越界读取缓存漏洞(CVE-2017-7529)复现分析 - qweg_focus - 博客园 (cnblogs.com) 一、fofa 搜索 nginx && port"80" 我这里写了个脚本将ip保存…