如何通过 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:过滤临时维护