Orchestrator 单节点模式介绍

一、环境说明:

1.1、3台vm虚拟机系统环境介绍:

3台VM系统为:

[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

3台VM centos 系统都关闭iptables,关闭selinux
3台虚拟机系统时间同步:
ntpdate ntp1.aliyun.com
3台vm虚拟机上各安装一个orchestrator mysql

orchestrator版本为:orchestrator-3.1.4-linux-amd64.tar.gz
下载地址:
https://github.com/github/orchestrator/releases

mysql的版本为mysql5.7.24 GA 二进制版本安装

三台机器ip:

10.0.0.130    172.16.0.130
10.0.0.131    172.16.0.131
10.0.0.132    172.16.0.132

三台vm绑定主机名:

[[email protected] bin]# cat /etc/hosts
172.16.0.130 mgr01
172.16.0.131 mgr03
172.16.0.132 mgr02
[[email protected] ~]# cat /etc/hosts
172.16.0.132 mgr02
172.16.0.131 mgr03
172.16.0.130 mgr01
[[email protected] bin]# cat /etc/hosts
172.16.0.132 mgr02
172.16.0.131 mgr03
172.16.0.130 mgr01

提示:orchestrator 建议使用机器名,而不是ip来管理MySQL实例,比如change master to 中的 master_host 如果指定的是ip,有可能导致主从切换或者故障切换出现问题
所以最好是绑定hosts,设置主机名

1.2、三台vm上安装mysql说明

安装MySQL的步骤省略,和常规安装MySQL一样

提前配置好一主2从mysql 基于Gtid 过滤复制

    172.16.0.131  master
    172.16.0.130  slave
    172.16.0.132  slave

三台vm实例mysql的配置文件都要开启如下参数:
说明:开启gtid,只复制测试库test001下的表,其他的数据库都忽略掉

[[email protected] orchestrator]# egrep -i ‘gtid|replicate_wild‘ /data/mysql/mysql3306/my3306.cnf
####: for gtid
#gtid_executed_compression_period    =1000                          #   1000
gtid_mode                           =on                            #    off
enforce_gtid_consistency            =on                            #    off
replicate_wild_do_table=test001.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=orchestrator.%  

172.16.0.131: master操作:


mysql -uroot -p‘123456‘ -e "reset mater;"
mysql -e "grant replication slave on *.* to [email protected]‘172.16.0.%‘ identified by ‘JuwoSdk21TbUser‘; flush privileges;"
mysqldump -uroot -p‘123456‘ -B -A -F --set-gtid-purged=OFF  --master-data=2 --single-transaction  --events|gzip >/opt/test_$(date +%F).sql.gz

172.16.0.130:slave 操作:

mysql < /test_$(date +%F).sql.gz
mysql  -e "CHANGE MASTER TO MASTER_HOST=‘mgr03‘,MASTER_PORT=3306,MASTER_USER=‘repuser‘,MASTER_PASSWORD=‘JuwoSdk21TbUser‘,MASTER_AUTO_POSITION = 1;start slave;show slave status\G" |grep -i "yes"

172.16.0.132 slave 操作:

mysql < /test_$(date +%F).sql.gz
mysql  -e "CHANGE MASTER TO MASTER_HOST=‘mgr03‘,MASTER_PORT=3306,MASTER_USER=‘repuser‘,MASTER_PASSWORD=‘JuwoSdk21TbUser‘,MASTER_AUTO_POSITION = 1;start slave;show slave status\G" |grep -i "yes"

二、三台vm上安装Orchestrator

提示!!!!: {{{本篇博文主要介绍Orchestrator 单节点机器安装和使用}}}

2.1、机器角色说明:

orchestrator机器:172.16.0.130 172.16.0.131 172.16.0.132
orchestrator后端元数据库MySQL:172.16.0.131
监控目标数据库:172.16.0.130 172.16.0.131 172.16.0.132

2.2、每台VM机器都执行下面命令

安装orchestrator:
下载orchestrator安装包,orchestrator-3.1.4-linux-amd64.tar.gz
https://github.com/github/orchestrator/releases

解压orchestrator安装包:
tar?-xf?orchestrator-3.1.4-linux-amd64.tar.gz?
会多出usr 、etc下面2个目录:
[[email protected] ~]# ls -lrt /root/
drwxr-xr-x 3 root root 4096 Jan 26 22:05 usr
drwxr-xr-x 3 root root 4096 Jan 26 22:05 etc

将usr/local/orchestrator/orchestrator-sample.conf.json移动到/etc下,并命名为orchestrator.conf.json

cp /root/usr/local/orchestrator/orchestrator-sample.conf.json /etc/orchestrator.conf.json

安装完成后创建orchestrator需要用到的库和用户:

CREATE DATABASE orchestrator;
CREATE USER ‘orchestrator‘@‘127.0.0.1‘ IDENTIFIED BY ‘orchestrator‘;
GRANT ALL PRIVILEGES ON `orchestrator`.* TO ‘orchestrator‘@‘127.0.0.1‘;
这里元数据库MySQL和orchestrator在同一台机器上,所以创建账号的时候用的‘127.0.0.1‘,
如果不在同一台机器上,将IP换成orchestrator所在机器ip。

监控目标数据库授权:

在需要监控的目标数据库上进行授权
CREATE USER ‘orchestrator‘@‘172.16.0.%‘  IDENTIFIED BY ‘orchestrator‘;
GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO ‘orchestrator‘@‘172.16.0.%‘;
GRANT SELECT ON mysql.slave_master_info TO ‘orchestrator‘@‘172.16.0.%‘;
提示:
MySQLTopologyUser 账号的权限应该设置为super,process,reload,select,replicatiopn slave,
官网文档中缺少了select权限,orchestrator切换过程中需要通过读取从库的mysql.slave_master_info表,获取复制账号和密码,如果没有select权限,将导致读取失败,并且不会有任何错误信息报出来。

2.3、每台VM修改orchestrator配置文件

修改/etc/orchestrator.conf.json如下:

####配置orchestrator后端元数据库信息

"MySQLOrchestratorHost": "127.0.0.1",
"MySQLOrchestratorPort": 3306,
"MySQLOrchestratorDatabase": "orchestrator",
"MySQLOrchestratorUser": "orchestrator",
"MySQLOrchestratorPassword": "orchestrator",

###配置orchestrator监控的目标数据库信息

"MySQLTopologyUser": "orchestrator",
"MySQLTopologyPassword": "orchestrator",

2.4、只单独启动一台orchestrator服务

单独启动172.16.0.131 机器上的orchestrator服务,默认监听的端口是3000
启动命令:

cd /root/usr/local/orchestrator && ./orchestrator --config=/etc/orchestrator.conf.json http &
[[email protected] ~]# ps -ef|grep orc
root       3478   3477  6 23:47 pts/3    00:00:02 ./orchestrator --config=/etc/orchestrator.conf.json http
root       3489   2648  0 23:48 pts/2    00:00:00 grep --color=auto orc
[[email protected] ~]# ss -lntup|grep orc
tcp    LISTEN     0      128      :::3000                 :::*                   users:(("orchestrator",pid=3478,fd=5))

日志中有报错:

2020-02-20 23:47:40 ERROR ReadTopologyInstance(mgr01:3306) show slave hosts: ReadTopologyInstance(mgr01:3306) ‘show slave hosts‘ returned row with <host,port>: <,3306>
2020-02-20 23:47:41 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2020-02-20 23:47:41 ERROR ReadTopologyInstance(mgr02:3306) show slave hosts: ReadTopologyInstance(mgr02:3306) ‘show slave hosts‘ returned row with <host,port>: <,3306>

报错的解决办法:
在MySQL配置文件my.cnf中report_host参数,
report_host为只读参数,必须重启mysql服务才可生效
report_host=x.x.x.x //ip为服务器自身的ip
提示:关于mysql的report-系列参数说明如下:
#report-系列Report系列是设置在从库上的,包含四个参数 report-[host|port|user|password].
当my.cnf中设置了report-host时,在从库执行start slave的时候,会将report-host和report-port(默认3306)发给主库,主库记录在全局哈希结构变量 slave_list 中
同时需要注意的是 mysql对report_host限制为最长60个字节长度,也就是非中文的60个字符,所以mysql服务器的主机名要小于60个字符,否则在做主从复制时,slave会报错
参考:https://www.jianshu.com/p/9a5b7d30b0ae

原因:my.cnf配置文件不加report_host ,在orchestrator程序中 show slave hosts 不会显示host,会导致程序报错的
或者是修改/etc/orchestrator.conf.json 配置文件参数DiscoverByShowSlaveHosts 为false,重启orchestrator 服务,这样就不需要设置report_host了

2.5、Web页面访问介绍

http://10.0.0.130:3000/web/status

初次打开web页面是看不到mysql cluster 集群名称的,需要点击discover发现instance,如下图:


再次点击Clusters,便出现集群别名和Instance:

选择home下的status,可以看到当前的健康的节点:

查看详细的复制拓扑:


查看关于复制失败的分析:

关于复制失败的诊断:

查看复制的详细的信息:

在线调整复制关系有1主2从变为级联复制:

再由级联复制变为1主2从:

以上就是关于的orchestrator服务单节点启动管理mysql复制集群的简单web页面应用介绍,欢迎一起交流学习

原文地址:https://blog.51cto.com/wujianwei/2472610

时间: 2024-10-07 21:01:13

Orchestrator 单节点模式介绍的相关文章

ElasticSearch单节点模式的搭建

环境CentOS7安装了JDK1.8这里用的elasticsearch5.2.2为例,你也可以用5.6.1或者更高的版本 1.最好以非root用户解压ElasticSearch,如果用root用户,要不然以后还要将文件的权限以及组转移给非foot用户1)解压elasticsearch-5.2.2.tar.gz到/opt/module目录下[[email protected] ~]# su asy[[email protected] root]$ tar -zxvf elasticsearch-5

3.redis单节点及主备模式

1.单节点模式 单节点模式的配置,使用redis通用配置即可. (1)启动命令: 1 /path/to/redis-server /path/to/redis-6379.conf 注:配置文件名称只是示例,一般一台机器不止启动一个redis实例,使用端口区分配置文件是比较好的方式 (2)关闭命令: 1 /path/to/redis-cli -h <host> -p <port> -a '<password>' shutdown save 注:建议不要直接kill进程,会

eureka的简单介绍,eureka单节点版的实现?eureka的自我保护?eureka的AP性,和CP性?

一.什么是eureka? // eureka是一个注册中心,实现了dubbo中zookeeper的效果! 二.实现eureka工程的搭建? 1.1 单节点版 1.1 zookeeper 和 eureka的区别? /* 1. zookeeper不会把自己注册到注册中心,但是eureka会! 2. 配置eureka 需要配置不能把自己注册到注册中心里面. 3. consumer 也不能把自己注册到注册中心. 4. 只要provider可以. */ 1.2 创建eureka工程 20190926-sp

Hadoop单节点环境搭建

下面介绍怎么在linux系统上设置和配置一个单节点的Hadoop,让你可以使用Hadoop的MapReduce和HDFS(Hadoop Distributed File System)做一些简单的操作. 准备工作 1)下载Hadoop:2)为你的linux系统安装JDK,推荐的JDK版本可以在这里(http://wiki.apache.org/hadoop/HadoopJavaVersions)查看:3)为你的系统安装ssh. 设置环境变量 1)为Hadoop设置JDK信息: export JA

Hadoop单节点安装(转)

Hadoop单节点模式安装 官方教程:http://hadoop.apache.org/docs/r2.7.3/ 本文基于:Ubuntu 16.04.Hadoop-2.7.3 一.概述 本文参考官方文档介绍Hadoop单节点模式(本地模式及伪分布式模式)安装(Setting up a Single Node Cluster). 1.Hadoop安装的三种模式 (1)单机模式(standalone) 单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环

ElasticSearch多节点模式的搭建

环境准备:环境CentOS7安装了JDK1.8这里用的elasticsearch5.2.2为例,你也可以用5.6.1或者更高的版本参考之前的单节点模式http://blog.51cto.com/6989066/2334006 (1)先确认slave节点与master节点之间SSH是否是通的,也就是确认节点之间已配置免密码登陆然后使用scp -r /opt/module/elasticsearch-5.2.2 [email protected]:/opt/module/elasticsearch-

Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装

 Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapReduce而开发的一系列上层应用软件. hdfs是在一个网络中以流式数据访问模式来存储超大文件的跨越多台计算机的分布式文件系统.目前支持的超大文件的范围为从MB级至PB级. MapReduce是一种可用于数据处理的编程模型,基于MapReduce模型的程序本质上都是并行运行的.基于MapReduce

小试牛刀之Kolla单节点部署

写在前面的话,笔者目的是为了尝试用Kolla来方便快捷的部署OpenStack,为以后多节点部署打下基础. Kola简介: kolla项目起源于TripleO项目,聚焦于使用Docker容器部署OpenStack服务.该项目由Cisco于2014年9月提出,是OpenStack 社区Big Tent开发模式下的孵化项目. Kolla项目是一个支持Openstack服务以容器的方式部署,借助ansible部署工具可以简单的扩展到多个节点.同时,又借助于使用 heat 来编排 Kolla 集群. 环

Reidis单节点安装配置

单节点配置安装安装redis 1. http://redis.io/  下载最新版本的软件包 2. 解压缩文件 tar -zxvf redis-3.2.5.tar.gz 3. 编译 cd redis-3.2.5 make make install 4. 修改配置 vim redis.conf 找到bind 127.0.0.1,修改为0.0.0.0,否则无法远程访问,保存退出,如果还是无法访问,关闭防火墙 即时关闭,重启后失效:service iptables stop 重启后生效:chkconf