tidb courses: day5

tidb day5

Posted by cslqm on December 20, 2020

如何通过 TiUP 布置 TiDB

TiUP 包管理器 组件 playgroud 布置本地集群 组件 cluster 部署生产环境集群

参数都是组件的参数。

组件仓库地址可以更改。

本地集群部署

playground

生产环境部署

配置 yaml 集群部署文件 tiup cluster check xxx.yaml 检查 yaml 中的机器

tiup cluster start test-cluster 启动集群

tiup cluster display test-cluster 查看集群状态

在 k8s 上部署 TiDB 集群

host - guest - container

control plane

  • kube-api-server :提供 api,所以外部交互
  • etcd: 一致性 kv 存储
  • kube-scheduler:调度 pod
  • kube-controller manager

kubelet

在 pod 中创建 runtime,管理 runtime 生命周期

kube-proxy

网络规则。 iptables

container runtime

docker

Pod

container 的集合,Pod 中的 container 共享资源。

TiDB Operator

  • 方便部署
  • 水平扩缩容
  • 滚动升级
  • 多集群支持
  • 自动 Failover
  • 监控

安装 TiDB Operator

CRD kubectl apply -f xxxxx kubectl get crd | grep tidbclusters

helm inspect values xxxx help install xxxx

kubectl get po -n tidb-admin

部署集群

TiDB Discovery 类似 etcd-discovery。完成新旧的融合

导入数据到 TiDB

TiDB Lightning

导入全量数据的工具 支持两种工作模式

local

  • 用本地 kv 存储作为 backend
  • 快速导入大量数据到集群

tidb

  • 使用 TiDB/MySQL 作为 backend
  • 可以在线导入(业务不停,数据一边导入)

MySQL –Dumping–> Full backup file —-> TiDB Lightning –insert–> TiDB Server

TiDB Lighting features

数据源类型支持

  • SQL dump files
  • CSV files

表过滤

  • 仅导入某些数据库或表
  • 可用于在共享存储上手动分区数据源,以允许多个tidb lighting实例一起工作

checkpoints

断点恢复

Web 界面

TiDB Data Migration

三种工作模式:

  • full
  • incremental
  • all(full + incremental)

DM-worker

dmctl

DM-master etcd 保证高可用

表路由:将上游的库和表,导入到下游的库和表中。 表过滤:哪些可以导入,哪些不行。 binlog 事件过滤:根据它们的类型或内容忽略某些binlog事件 分片支持:可以分片和合并表 Online DDL scheme:过滤临时维护