场景:
用于管理MySQL高可用

  1. 下载jq包
    每台orchestrator集群机器上都进行下载。
# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -ivh epel-release-latest-7.noarch.rpm
# yum repolist ###检查是否已经添加到源列表
# yum install -y jq
  1. 添加域名解析
    若Orchestrator启用域名作为管理,编辑/etc/hosts(不采用该方式)
    在这里插入图片描述
    注:若直接用ip管理,不启用域名管理集群,则不需要配置。需要在orchestrator配置文件里设定以下两个参数为:
    在这里插入图片描述

  2. 后端数据库设置
    Create database orchestrator;
    CREATE USER ‘orchestrator’@‘%’ IDENTIFIED BY ‘orchestrator’;
    GRANT ALL ON orchestrator.* TO ‘orchestrator’@‘%’;

  3. 被管理的mysql集群设置

  1. 用户授权
    CREATE USER ‘orchestrator’@‘%’ IDENTIFIED BY ‘orchestrator’;
    GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON . TO ‘orchestrator’@‘%’;
    GRANT SELECT ON mysql.slave_master_info TO ‘orchestrator’@‘%’;

GRANT SELECT ON performance_schema.replication_group_members TO ‘orchestrator’@‘%’;
2) 设置report_host参数
orchestrator使用ip进行管理,MySQL配置文件需要加report_host参数。
在这里插入图片描述
如若出现给定主库,发现不了从库,给被管理的mysql服务配置文件添加“report_host=ip”的参数,然后重启mysql服务生效。
由主库发现从库,由参数DiscoverByShowSlaveHosts控制。如果为true,则会尝试先通过show slave hosts命令去发现从库。
从库设置了正确的report_host,show slave hosts中的host字段显示正确的IP,则直接通过show slave hosts发现从库。
从库没有设置report_host,show slave hosts中的host字段显示为空,则通过processlist发现从库。
5. 配置文件说明
安装包有提供模板
/usr/local/orchestrator/ orchestrator-sample.conf.json ,在模板上根据具体情况进行参数填写,然后重命名orchestrator.conf.json,放到/etc目录下,
需要设置的基本参数及说明如下:
在这里插入图片描述
ListenAddress web界面的http端口
MySQLTopologyUser 被管理的MySQL的用户(明文)
MySQLTopologyPassword 被管理的MySQL的密码(密文)
MySQLOrchestratorHost orch后端数据库地址
MySQLOrchestratorPort orch后端数据库端口
MySQLOrchestratorDatabase orch后端数据库名
MySQLOrchestratorUser orch后端数据库用户名(明文)
MySQLOrchestratorPassword orch后端数据库密码(明文)
DefaultInstancePort 被管理MySQL的默认端口
RaftEnabled 是否开启Raft,保证orch的高可用。
RaftDataDir Raft的数据目录
BackendDB 后端数据库类型。
RaftBind Raft 的 bind地址,每台机器填自己的ip
DefaultRaftPort DefaultRaftPort
RaftNodes Raft的节点。

示例:

{"Debug": true,"EnableSyslog": false,"ListenAddress": ":3000","MySQLTopologyUser": "orchestrator","MySQLTopologyPassword": "orch`123qwer","MySQLTopologyCredentialsConfigFile": "","MySQLTopologySSLPrivateKeyFile": "","MySQLTopologySSLCertFile": "","MySQLTopologySSLCAFile": "","MySQLTopologySSLSkipVerify": true,"MySQLTopologyUseMutualTLS": false,"MySQLOrchestratorHost": "127.0.0.1","MySQLOrchestratorPort": 3305,"MySQLOrchestratorDatabase": "orchestrator","MySQLOrchestratorUser": "orchestrator","MySQLOrchestratorPassword": "orchestrator","MySQLOrchestratorCredentialsConfigFile": "","MySQLOrchestratorSSLPrivateKeyFile": "","MySQLOrchestratorSSLCertFile": "","MySQLOrchestratorSSLCAFile": "","MySQLOrchestratorSSLSkipVerify": true,"MySQLOrchestratorUseMutualTLS": false,"MySQLConnectTimeoutSeconds": 1,"DefaultInstancePort": 3305,"DiscoverByShowSlaveHosts": true,"InstancePollSeconds": 5,"DiscoveryIgnoreReplicaHostnameFilters": ["a_host_i_want_to_ignore[.]example[.]com",".*[.]ignore_all_hosts_from_this_domain[.]example[.]com","a_host_with_extra_port_i_want_to_ignore[.]example[.]com:3307"],"UnseenInstanceForgetHours": 240,"SnapshotTopologiesIntervalHours": 0,"InstanceBulkOperationsWaitTimeoutSeconds": 10,"HostnameResolveMethod": "none","MySQLHostnameResolveMethod": "","SkipBinlogServerUnresolveCheck": true,"ExpiryHostnameResolvesMinutes": 60,"RejectHostnameResolvePattern": "","ReasonableReplicationLagSeconds": 10,"ProblemIgnoreHostnameFilters": [],"VerifyReplicationFilters": false,"ReasonableMaintenanceReplicationLagSeconds": 20,"CandidateInstanceExpireMinutes": 60,"AuditLogFile": "","AuditToSyslog": false,"RemoveTextFromHostnameDisplay": ".mydomain.com:3306","ReadOnly": false,"AuthenticationMethod": "basic","HTTPAuthUser": "orchestrator","HTTPAuthPassword": "orchestrator","AuthUserHeader": "","PowerAuthUsers": ["*"],"ClusterNameToAlias": {"127.0.0.1": "test suite"},"ReplicationLagQuery": "","DetectClusterAliasQuery": "SELECT SUBSTRING_INDEX(@@hostname, '.', 1)","DetectClusterDomainQuery": "","DetectInstanceAliasQuery": "","DetectPromotionRuleQuery": "","DataCenterPattern": "[.]([^.]+)[.][^.]+[.]mydomain[.]com","PhysicalEnvironmentPattern": "[.]([^.]+[.][^.]+)[.]mydomain[.]com","PromotionIgnoreHostnameFilters": [],"DetectSemiSyncEnforcedQuery": "","ServeAgentsHttp": false,"AgentsServerPort": ":3001","AgentsUseSSL": false,"AgentsUseMutualTLS": false,"AgentSSLSkipVerify": false,"AgentSSLPrivateKeyFile": "","AgentSSLCertFile": "","AgentSSLCAFile": "","AgentSSLValidOUs": [],"UseSSL": false,"UseMutualTLS": false,"SSLSkipVerify": false,"SSLPrivateKeyFile": "","SSLCertFile": "","SSLCAFile": "","SSLValidOUs": [],"URLPrefix": "","StatusEndpoint": "/api/status","StatusSimpleHealth": true,"StatusOUVerify": false,"AgentPollMinutes": 60,"UnseenAgentForgetHours": 6,"StaleSeedFailMinutes": 60,"SeedAcceptableBytesDiff": 8192,"PseudoGTIDPattern": "","PseudoGTIDPatternIsFixedSubstring": false,"PseudoGTIDMonotonicHint": "asc:","DetectPseudoGTIDQuery": "","BinlogEventsChunkSize": 10000,"SkipBinlogEventsContaining": [],"ReduceReplicationAnalysisCount": true,"FailureDetectionPeriodBlockMinutes": 1,"FailMasterPromotionOnLagMinutes": 0,"RecoveryPeriodBlockSeconds": 60,"RecoveryIgnoreHostnameFilters": [],"RecoverMasterClusterFilters": ["*"],"RecoverIntermediateMasterClusterFilters": ["*"],"OnFailureDetectionProcesses": ["echo 'Detected {failureType} on {failureCluster}. Affected replicas: {countSlaves}' >> /tmp/recovery.log"],"PreGracefulTakeoverProcesses": ["echo 'Planned takeover about to take place on {failureCluster}. Master will switch to read_only' >> /tmp/recovery.log"],"PreFailoverProcesses": ["echo 'Will recover from {failureType} on {failureCluster}' >> /tmp/recovery.log"],"PostFailoverProcesses": ["echo '(for all types) Recovered from {failureType} on {failureCluster}. Failed: {failedHost}:{failedPort}; Successor: {successorHost}:{successorPort}' >> /tmp/recovery.log","source /usr/local/orchestrator/script/orch_hook.sh {failureType} {failureClusterAlias} {failedHost} {successorHost} >> /tmp/orch_vip.log","source /usr/local/orchestrator/script/dble.sh {failureType} {failureClusterAlias} {failedHost} {successorHost} >> /tmp/orch_dble.log"],"PostUnsuccessfulFailoverProcesses": [],"PostMasterFailoverProcesses": ["echo 'Recovered from {failureType} on {failureCluster}. Failed: {failedHost}:{failedPort}; Promoted: {successorHost}:{successorPort}' >> /tmp/recovery.log"],"PostIntermediateMasterFailoverProcesses": ["echo 'Recovered from {failureType} on {failureCluster}. Failed: {failedHost}:{failedPort}; Successor: {successorHost}:{successorPort}' >> /tmp/recovery.log"],"PostGracefulTakeoverProcesses": ["echo 'Planned takeover complete' >> /tmp/recovery.log"],"CoMasterRecoveryMustPromoteOtherCoMaster": true,"DetachLostSlavesAfterMasterFailover": true,"ApplyMySQLPromotionAfterMasterFailover": true,"PreventCrossDataCenterMasterFailover": false,"PreventCrossRegionMasterFailover": false,"MasterFailoverDetachReplicaMasterHost": false,"MasterFailoverLostInstancesDowntimeMinutes": 0,"PostponeReplicaRecoveryOnLagMinutes": 0,"OSCIgnoreHostnameFilters": [],"GraphiteAddr": "","GraphitePath": "","GraphiteConvertHostnameDotsToUnderscores": true,"RaftEnabled": true,"BackendDB": "mysql","RaftBind": "1xx.1x.x.146","RaftDataDir": "/home/data/orchestrator","DefaultRaftPort": 10008,"RaftNodes": ["1xx.1x.x.146","1xx.1x.x.147","1xx.1x.x.148"],"ConsulAddress": "","ConsulAclToken": "","ConsulKVStoreProvider": "consul"
}
  1. 启动服务
    在每台orchestrator集群机器的orchestrator安装目录下,运行:
    ./orchestrator --debug --config=/etc/orchestrator.conf.json http

  2. systemctl托管服务
    解压orchestrator压缩包时,在
    /usr/local/etc/systemd/system目录下会有托管文件:orchestrator.service。 将其移动到/usr/lib/systemd/system/orchestrator.service。内容如下:
    在这里插入图片描述
    启动:systemctl start orchestrator

  3. 登录web界面
    登录URL:1xx.1x.3.146:3000 或1xx.1x.3.147:3000 或 1xx.1x.3.148:3000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92100.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92100.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92100.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS 6.4 上安装 Oracle 10.2.0.1 并升级到 10.2.0.4

目录 一、系统检查与设置 1. 检查系统版本与磁盘空间 2. 修改系统参数 3. 创建组和用户 4. 设置主机名 5. 检查安装软件包 6. 设置 oracle 用户环境变量 二、安装 Oracle 软件包 1. 安装 10.2.0.1 安装包 2. 安装 10.2.0.4 补丁 三、建库 四、配置监听器 1. 编辑配…

【基于C# + HALCON的工业视系统开发实战】二十六、车规级PCB全自动质检:3D SPI+AI光学检测融合方案

摘要:本文详细阐述基于C# .NET Core 6与HALCON 24.11开发的车规级PCB板AOI智能检测系统,提出3D SPI与AI光学检测融合方案。系统通过结构光3D测量技术实现锡膏印刷质量检测,结合多算法融合的自动光学检测完成元件缺陷识别,构建SPI与…

Go源码解读——互斥锁与读写锁

互斥锁Mutextype Mutex struct {// 表示互斥锁状态state int32// 表示信号量,协程阻塞等待该信号量,解锁的协程释放信号量从而唤醒等待信号量的协程sema uint32 }Locked: 表示该Mutex是否已被锁定,0:没有锁定 1:已被锁…

Linux(centos)安全狗

sdui进入操作页面 [rootlocalhost safedog_an_linux64_2.8.32947]# sdui维护 查看、启动或停止服务。 [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemctl status safedog [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemctl start safedog [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemct…

ES9 / ES2018 正则表达式增强

✅ 一、命名捕获组(Named Capture Groups)给捕获结果起名字,更易读、更易维护。🔹 传统写法(位置识别):const result /(\d{4})-(\d{2})-(\d{2})/.exec("2025-07-31"); console.log(…

深入Java开发:Token的全方位解析与实战指南(下)

深入Java开发:Token的全方位解析与实战指南(下) 上一篇 深入Java开发:Token的全方位解析与实战指南(上) 五、Token 的生命周期与管理 5.1 Token 的生命周期状态 Token 的生命周期涵盖了从创建到最终失效…

第二十四天(数据结构:栈和队列)队列实践请看下一篇

栈和队列栈 : 是限定在表尾进行插入和删除操作的线性表实现是一回事,但是必须要满足栈的基本特点它的设计思路是:先进后出,后进先出栈有两端1 栈顶(top) :插入数据删除数据都只能在这一端访问也只能访问栈顶2 栈底(bottom) : 栈底…

三、Spark 运行环境部署:全面掌握四种核心模式

作者:IvanCodes 日期:2025年7月25日 专栏:Spark教程 Apache Spark 作为统一的大数据分析引擎,以其高性能和灵活性著称。要充分利用Spark的强大能力,首先需要根据不同的应用场景和资源环境,正确地部署其运行…

【Django】-2- 处理HTTP请求

一、request 请求 先理解:Request 是啥?用户访问你的网站时,会发一个 “请求包” 📦 ,里面装着:想访问啥路径?用啥方法(GET/POST 等)?带了啥头信息&#xff0…

飞算 JavaAI:突破效率边界的代码智能构造平台

飞算 JavaAI:突破效率边界的代码智能构造平台 一、引言:数字化浪潮下的开发效率困局与破局路径 当企业数字化转型驶入深水区,软件开发正面临需求迭代频次激增、人力成本高企、技术架构复杂化的多重挑战。传统开发模式中,从需求分…

国家科学技术奖答辩PPT案例_科技进步奖ppt制作_技术发明奖ppt设计美化_自然科学奖ppt模板 | WordinPPT

“国家科学技术奖”是在科学技术领域设立的最高荣誉,旨在奖励在科学技术进步活动中做出突出贡献的个人和组织,从而推动国家科学技术事业的发展,加快建设科技强国。科学技术奖是国内科技界的最高殿堂,是对做出杰出贡献的科技工作者…

如何通过黑白棋盘进行定位配准融合?(前后安装的两个相机)

一.总结: 完整流程 :硬件准备 → 数据采集 → 空间统一 → 相机标定(内参畸变) → 外参求解 → 定位配准融合 → 校验 → 生成映射表 → 上线remap验证 我们场景流程 :硬件准备 → 数据采集 → 空间统一 → 定位配准融合 → …

【node】token的生成与解析配置

在用户登录成功之后为了记录用户的登录状态通常会将用户信息编写为一个token,通过解析token判断用户是否登录。 token的生成 JSON Web Token(JWT) 是一种基于JSON的轻量级身份验证和授权机制。它是一种开放标准(RFC 7519&#xff…

yolo 、Pytorch (5)IOU

一、简介 IOU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率,即它们的交集和并集的比值。最理想情况是完全重叠,即比值为1。 …

【银河麒麟服务器系统】自定义ISO镜像更新内核版本

自定义ISO镜像更新内核版本 镜像制作流程 环境 更新仓库 准备新版本内核包 内核清单简介 已下载软件包版本 更新内核包 更新镜像源 制作自动化镜像 修改引导 修改UEFI引导 传统引导 修改ks文件内容 打包镜像 mkisofs参数说明 封装镜像命令 常见问题解决方案 镜像制作流程 #merm…

JVM 调优中JVM的参数如何起到调优动作?具体案例,G1GC垃圾收集器参数调整建议

JVM调优参数 在JVM调优过程中,通过调整JVM参数可以优化Java应用程序的性能。不同的应用场景可能需要不同的调优策略和参数配置。下面将介绍几个常见的调优场景以及相应的JVM参数设置,并给出具体案例说明。 1. 堆内存大小调整 问题描述:应用程…

TGD第十一篇:卷积神经网络中的TGD特征

文章目录一、直觉上重要的视觉特征二、视觉神经网络首层试图自主学习 TGD 算子权重2.1 AlexNet2.2 Vision Transformer2.3 MLPMixer三、针对直觉的验证试验3.1 小样本集自然图像分类任务3.2 小样本集医学图像分割任务四、结语早在 2012 年,卷积神经网络 AlexNet 就已…

【源力觉醒 创作者计划】文心大模型开源:从封闭研发到生态共建的转折点

前言 人工智能的浪潮在近几年席卷全球,不仅颠覆了传统技术路径与行业习惯,更在大模型领域掀起了一场激烈的生态争夺战。自去年起,"百模大战"的硝烟弥漫,微软、谷歌、百度、阿里等科技巨头纷纷入局,在大模型的…

思科 UCS Fabric Interconnect 和 UCS Manager 简介

UCS Manager(UCSM)安装在 Fabric Interconnect(FI)上,并且是UCS架构的集中管理平台,允许你管理所有与计算、网络和存储相关的配置。1. UCS Manager 安装位置UCS Manager 是在 UCS Fabric Interconnect&…

C语言结构体、位段、枚举、联合体

结构体&#xff1a;定义&#xff1a;结构体就是一堆值的集合初始化&#xff1a;#include<stdio.h> #include <stddef.h> struct S {char ch;int n; };int main() {struct S s1 { a, 5 };S s2{ b,6 };printf("s1 ch:%c , n:%d\n", s1.ch, s1.n);printf(&…