3.1.2 编写Docker Compose配置文件
# docker-compose.yml
version: '3'风哥提示:
services:
pd:
image: pingcap/pd:v6.5.0
ports:
- "2379:2379"
volumes:
- ./data/pd:/data
command:
- "--name=pd1"
- "--data-dir=/data"
- "--client-urls=http://0.0.0.0:2379"
- "--peer-urls=http://0.0.0.0:2380"
- "--initial-cluster=pd1=http://pd:2380"
restart: always
tikv:
image: pingcap/tikv:v6.5.0
ports:
- "20160:20160"
volumes:
- ./data/tikv:/data
command:
- "--addr=0.0.0.0:20160"
- "--data-dir=/data"
- "--pd=pd:2379"
depends_on:
- pd
restart: always
tidb:
image: pingcap/tidb:v6.5.0
ports:
- "4000:4000"
- "10080:10080"
command:
- "--store=tikv"
- "--path=pd:2379"
depends_on:
- tikv
restart: always
tiflash:
image: pingcap/tiflash:v6.5.0
ports:
- "3930:3930"
volumes:
- ./data/tiflash:/data
command:
- "--pd_addr=pd:2379"
- "--addr=0.0.0.0:3930"
- "--data_dir=/data"
depends_on:
- pd
restart: always
3.1.3 启动TiDB集群
mkdir -p data/pd data/tikv data/tiflash
# 启动集群
docker-compose up -d
# 查看容器状态
docker-compose ps
# 查看日志
docker-compose logs -f
3.2 使用Kubernetes部署TiDB
3.2.1 准备Kubernetes环境
curl -LO “https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl”
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 安装minikube(开发测试环境)
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
3.2.2 使用TiDB Operator部署
helm repo add pingcap https://charts.pingcap.org/
helm repo update
helm install tidb-operator pingcap/tidb-operator –namespace tidb-admin –create-namespace
# 部署TiDB集群
kubectl apply -f tidb-cluster.yaml
3.2.3 TiDB集群配置文件
# tidb-cluster.yaml学习交流加群风哥QQ113257174
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
name: fgedudb
namespace: default
spec:
version: v6.5.0
timezone: UTC
pvReclaimPolicy: Delete
pd:
baseImage: pingcap/pd
replicas: 3
requests:
storage: "10Gi"
config:
replication:
max-replicas: 3
tikv:
baseImage: pingcap/tikv
replicas: 3
requests:
storage: "100Gi"
config:
storage:
resync-concurrency: 4
tidb:
baseImage: pingcap/tidb
replicas: 2
service:
type: NodePort
config:
log.level: "info"
tiflash:
baseImage: pingcap/tiflash
replicas: 2
requests:
storage: "100Gi"
3.3 配置管理
3.3.1 环境变量配置
# docker-compose.yml 中的环境变量配置
tidb:
image: pingcap/tidb:v6.5.0
ports:
- "4000:4000"
environment:
- TIDB_SERVER_PORT=4000
- TIDB_STATUS_PORT=10080
- TIDB_LOG_LEVEL=info
command:
- "--store=tikv"
- "--path=pd:2379"
3.3.2 配置文件挂载
# docker-compose.yml 中的配置文件挂载
tikv:
image: pingcap/tikv:v6.5.0
volumes:
- ./config/tikv.toml:/etc/tikv/tikv.toml
- ./data/tikv:/data
command:
- "--config=/etc/tikv/tikv.toml"
3.4 监控与维护
3.4.1 监控容器状态
docker ps
# 查看容器日志
docker logs [container_id]
# 进入容器
docker exec -it [container_id] bash
3.4.2 备份与恢复
docker exec -it [tidb_container] tiup br backup full –pd “pd:2379” –storage “s3://backup-bucket/fgedudb/$(date +%Y%m%d)”
# 恢复TiDB数据
docker exec -it [tidb_container] tiup br restore full –pd “pd:2379” –storage “s3://backup-bucket/fgedudb/20240101”
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
