From 18b9254e317e3ca090dcf747beadf0d5cfc901d2 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 23 Jun 2021 17:37:22 +0800 Subject: [PATCH 1/4] This is an automated cherry-pick of #6507 Signed-off-by: ti-chi-bot --- faq/deploy-and-maintain-faq.md | 4 ---- production-deployment-using-tiup.md | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/faq/deploy-and-maintain-faq.md b/faq/deploy-and-maintain-faq.md index 3c9c26896c23..1a188945bac3 100644 --- a/faq/deploy-and-maintain-faq.md +++ b/faq/deploy-and-maintain-faq.md @@ -104,10 +104,6 @@ TiDB 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器 | enable_slow_query_log | TiDB 慢查询日志记录到单独文件({{ deploy_dir }}/log/tidb_slow_query.log),默认为 False,记录到 tidb 日志 | | deploy_without_tidb | KV 模式,不部署 TiDB 服务,仅部署 PD、TiKV 及监控服务,请将 inventory.ini 文件中 tidb_servers 主机组 IP 设置为空。 | -### Docker Compose 快速构建集群(单机部署) - -使用 docker-compose 在本地一键拉起一个集群,包括集群监控,还可以根据需求自定义各个组件的软件版本和实例个数,以及自定义配置文件,这种只限于开发环境,详细可参考[官方文档](/deploy-test-cluster-using-docker-compose.md)。 - ### 如何单独记录 TiDB 中的慢查询日志,如何定位慢查询 SQL? 1)TiDB 中,对慢查询的定义在 TiDB 的配置文件中。`slow-threshold: 300`,这个参数是配置慢查询记录阈值的,单位是 ms。 diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md index b7d62ebd7a67..25271c6c7e90 100644 --- a/production-deployment-using-tiup.md +++ b/production-deployment-using-tiup.md @@ -1,5 +1,9 @@ --- title: 使用 TiUP 部署 TiDB 集群 +<<<<<<< HEAD +======= +aliases: ['/docs-cn/dev/production-offline-deployment-using-tiup/', '/zh/tidb/dev/production-offline-deployment-using-tiup','/docs-cn/dev/production-deployment-using-tiup/','/docs-cn/dev/how-to/deploy/orchestrated/tiup/','/docs-cn/dev/tiflash/deploy-tiflash/','/docs-cn/dev/reference/tiflash/deploy/','/zh/tidb/dev/deploy-test-cluster-using-docker-compose','/zh/tidb/dev/test-deployment-using-docker'] +>>>>>>> d38019c49 (Delete docker deployment docs (#6507)) --- # 使用 TiUP 部署 TiDB 集群 From eaf497572c92709658d70aa392547b06fe6b2337 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 23 Jun 2021 17:38:48 +0800 Subject: [PATCH 2/4] Update production-deployment-using-tiup.md --- production-deployment-using-tiup.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md index 25271c6c7e90..b7d62ebd7a67 100644 --- a/production-deployment-using-tiup.md +++ b/production-deployment-using-tiup.md @@ -1,9 +1,5 @@ --- title: 使用 TiUP 部署 TiDB 集群 -<<<<<<< HEAD -======= -aliases: ['/docs-cn/dev/production-offline-deployment-using-tiup/', '/zh/tidb/dev/production-offline-deployment-using-tiup','/docs-cn/dev/production-deployment-using-tiup/','/docs-cn/dev/how-to/deploy/orchestrated/tiup/','/docs-cn/dev/tiflash/deploy-tiflash/','/docs-cn/dev/reference/tiflash/deploy/','/zh/tidb/dev/deploy-test-cluster-using-docker-compose','/zh/tidb/dev/test-deployment-using-docker'] ->>>>>>> d38019c49 (Delete docker deployment docs (#6507)) --- # 使用 TiUP 部署 TiDB 集群 From 01849014398c0252d6ad672d37a787f1b1a966e5 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 23 Jun 2021 17:39:34 +0800 Subject: [PATCH 3/4] Delete deploy-test-cluster-using-docker-compose.md --- deploy-test-cluster-using-docker-compose.md | 205 -------------------- 1 file changed, 205 deletions(-) delete mode 100644 deploy-test-cluster-using-docker-compose.md diff --git a/deploy-test-cluster-using-docker-compose.md b/deploy-test-cluster-using-docker-compose.md deleted file mode 100644 index a0a1b0d3e4a5..000000000000 --- a/deploy-test-cluster-using-docker-compose.md +++ /dev/null @@ -1,205 +0,0 @@ ---- -title: 使用 Docker Compose 快速构建 TiDB 集群 ---- - -# 使用 Docker Compose 快速构建 TiDB 集群 - -> **警告:** -> -> 本文提供的 Docker Compose 部署方案已停止维护。如果只是为了测试 TiDB,推荐参考[TiDB 数据库快速上手指南](/quick-start-with-tidb.md)进行部署。对于**生产环境**,不要使用 Docker Compose 进行部署,而应[使用 TiUP 部署 TiDB 集群](/production-deployment-using-tiup.md),或者[使用 TiDB Operator 在 Kubernetes 上部署 TiDB 集群](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator)。 - -本文档介绍如何在单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群。[Docker Compose](https://docs.docker.com/compose/overview) 可以通过一个 YAML 文件定义多个容器的应用服务,然后一键启动或停止。 - -## 准备环境 - -确保你的机器上已安装: - -- Docker(17.06.0 及以上版本) -- Docker Compose -- Git - -## 快速部署 - -1. 下载 `tidb-docker-compose` - - {{< copyable "shell-regular" >}} - - ```bash - git clone https://github.com/pingcap/tidb-docker-compose.git - ``` - -2. 创建并启动集群 - - 获取最新 Docker 镜像: - - {{< copyable "shell-regular" >}} - - ```bash - cd tidb-docker-compose && docker-compose pull && docker-compose up -d - ``` - -3. 访问集群 - - {{< copyable "shell-regular" >}} - - ```bash - mysql -h 127.0.0.1 -P 4000 -u root - ``` - - 访问集群 Grafana 监控页面: 默认用户名和密码均为 admin。 - - [集群数据可视化](https://github.com/pingcap/tidb-vision): - -## 自定义集群 - -在完成快速部署后,以下组件已默认部署:3 个 PD,3 个 TiKV,1 个 TiDB 和监控组件 Prometheus,Pushgateway,Grafana 以及 tidb-vision。 - -如果想自定义集群,可以直接修改 `docker-compose.yml`,但是手动修改比较繁琐而且容易出错,强烈建议使用 [Helm](https://helm.sh) 模板引擎生成 `docker-compose.yml` 文件。 - -1. 安装 Helm - - [Helm](https://helm.sh) 可以用作模板渲染引擎,只需要下载其 binary 文件即可以使用。确保你的 Helm 版本为 2.9.0 ≤ Helm < 3.0.0。 - - {{< copyable "shell-regular" >}} - - ```bash - curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash - ``` - - 如果是 Mac 系统,也可以通过 Homebrew 安装: - - {{< copyable "shell-regular" >}} - - ```bash - brew install helm@2 - brew link --force helm@2 - ``` - -2. 下载 `tidb-docker-compose` - - {{< copyable "shell-regular" >}} - - ```bash - git clone https://github.com/pingcap/tidb-docker-compose.git - ``` - -3. 自定义集群 - - {{< copyable "shell-regular" >}} - - ```bash - cd tidb-docker-compose && - cp compose/values.yaml values.yaml && - vim values.yaml - ``` - - 修改 `values.yaml` 里面的配置,例如集群规模,TiDB 镜像版本等。 - - [tidb-vision](https://github.com/pingcap/tidb-vision) 是 TiDB 集群可视化页面,可以可视化地显示 PD 对 TiKV 数据的调度。如果不想部署该组件,可以将 `tidbVision` 项留空。 - - PD,TiKV,TiDB 和 tidb-vision 支持从 GitHub 源码或本地文件构建 Docker 镜像,供开发测试使用。 - - - 如果希望从本地已编译好的 binary 文件构建 PD,TiKV 或 TiDB 镜像,需要将其 `image` 字段留空,并将已编译好的 binary 拷贝到对应的 `pd/bin/pd-server`,`tikv/bin/tikv-server`,`tidb/bin/tidb-server`。 - - - 如果希望从本地构建 tidb-vision 镜像,需要将其 `image` 字段留空,并将 tidb-vision 项目拷贝到 `tidb-vision/tidb-vision`。 - -4. 生成 `docker-compose.yml` 文件 - - {{< copyable "shell-regular" >}} - - ```bash - helm template -f values.yaml compose > generated-docker-compose.yml - ``` - -5. 使用生成的 `docker-compose.yml` 创建并启动集群 - - 获取最新 Docker 镜像: - - {{< copyable "shell-regular" >}} - - ```bash - docker-compose -f generated-docker-compose.yml pull - ``` - - {{< copyable "shell-regular" >}} - - ```bash - docker-compose -f generated-docker-compose.yml up -d - ``` - -6. 访问集群 - - {{< copyable "shell-regular" >}} - - ```bash - mysql -h 127.0.0.1 -P 4000 -u root - ``` - - 访问集群 Grafana 监控页面: 默认用户名和密码均为 admin。 - - 如果启用了 tidb-vision,可以通过 查看。 - -## 访问 Spark shell 并加载 TiSpark - -向 TiDB 集群中插入一些样本数据: - -{{< copyable "shell-regular" >}} - -```bash -docker-compose exec tispark-master bash && -cd /opt/spark/data/tispark-sample-data && -mysql -h tidb -P 4000 -u root < dss.ddl -``` - -当样本数据加载到 TiDB 集群之后,可以使用 `docker-compose exec tispark-master /opt/spark/bin/spark-shell` 来访问 Spark shell。 - -{{< copyable "shell-regular" >}} - -```bash -docker-compose exec tispark-master /opt/spark/bin/spark-shell -``` - -``` -... -Spark context available as 'sc' (master = local[*], app id = local-1527045927617). -Spark session available as 'spark'. -Welcome to - ____ __ - / __/__ ___ _____/ /__ - _\ \/ _ \/ _ `/ __/ '_/ - /___/ .__/\_,_/_/ /_/\_\ version 2.1.1 - /_/ - -Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_172) -Type in expressions to have them evaluated. -Type :help for more information. -``` - -```shell -scala> import org.apache.spark.sql.TiContext -... -scala> val ti = new TiContext(spark) -... -scala> ti.tidbMapDatabase("TPCH_001") -... -scala> spark.sql("select count(*) from lineitem").show -``` - -``` -+--------+ -|count(1)| -+--------+ -| 60175| -+--------+ -``` - -你也可以通过 Python 或 R 来访问 Spark: - -{{< copyable "shell-regular" >}} - -```bash -docker-compose exec tispark-master /opt/spark/bin/pyspark && -docker-compose exec tispark-master /opt/spark/bin/sparkR -``` - -更多关于 TiSpark 的信息,参见 [TiSpark 的详细文档](/get-started-with-tispark.md)。 From b4c939b75076ec96cfdbfb6e1928b170fc25f80b Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 23 Jun 2021 17:39:48 +0800 Subject: [PATCH 4/4] Delete test-deployment-using-docker.md --- test-deployment-using-docker.md | 259 -------------------------------- 1 file changed, 259 deletions(-) delete mode 100644 test-deployment-using-docker.md diff --git a/test-deployment-using-docker.md b/test-deployment-using-docker.md deleted file mode 100644 index b8be35d79982..000000000000 --- a/test-deployment-using-docker.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -title: TiDB Docker 部署方案 ---- - -# TiDB Docker 部署方案 - -> **警告:** -> -> 本文提供的 Docker 部署方案已停止维护。如果只是为了测试 TiDB,推荐参考[TiDB 数据库快速上手指南](/quick-start-with-tidb.md)进行部署。对于**生产环境**,不要使用 Docker 进行部署,而应[使用 TiUP 部署 TiDB 集群](/production-deployment-using-tiup.md),或者[使用 TiDB Operator 在 Kubernetes 上部署 TiDB 集群](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator)。 - -本文介绍如何使用 Docker 在测试环境部署一个多节点的 TiDB 集群。 - -## 环境准备 - -### 安装 Docker - -Docker 可以方便地在 Linux / Mac OS / Windows 平台安装,安装方法请参考 [Docker 官方文档](https://www.docker.com/products/docker)。 - -### 拉取 TiDB 的 Docker 镜像 - -部署 TiDB 集群主要包括 3 个服务组件: - -- TiDB -- TiKV -- PD - -对应的最新 Docker 镜像可以通过 [Docker 官方镜像仓库](https://hub.docker.com/u/pingcap) 获取: - -{{< copyable "shell-regular" >}} - -```bash -docker pull pingcap/tidb:latest -``` - -{{< copyable "shell-regular" >}} - -```bash -docker pull pingcap/tikv:latest -``` - -{{< copyable "shell-regular" >}} - -```bash -docker pull pingcap/pd:latest -``` - -## 部署一个多节点集群 - -假设我们打算在 6 台主机上部署一个 TiDB 集群: - -| 主机名 | IP | 部署服务 | 数据盘挂载 | -| --------- | ------------- | ---------- | ----- | -| host1 | 192.168.1.101 | PD1 & TiDB | /data | -| host2 | 192.168.1.102 | PD2 | /data | -| host3 | 192.168.1.103 | PD3 | /data | -| host4 | 192.168.1.104 | TiKV1 | /data | -| host5 | 192.168.1.105 | TiKV2 | /data | -| host6 | 192.168.1.106 | TiKV3 | /data | - -### 启动 PD - -登录 **host1** 执行: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name pd1 \ - -p 2379:2379 \ - -p 2380:2380 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - pingcap/pd:latest \ - --name="pd1" \ - --data-dir="/data/pd1" \ - --client-urls="http://0.0.0.0:2379" \ - --advertise-client-urls="http://192.168.1.101:2379" \ - --peer-urls="http://0.0.0.0:2380" \ - --advertise-peer-urls="http://192.168.1.101:2380" \ - --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380" -``` - -登录 **host2** 执行: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name pd2 \ - -p 2379:2379 \ - -p 2380:2380 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - pingcap/pd:latest \ - --name="pd2" \ - --data-dir="/data/pd2" \ - --client-urls="http://0.0.0.0:2379" \ - --advertise-client-urls="http://192.168.1.102:2379" \ - --peer-urls="http://0.0.0.0:2380" \ - --advertise-peer-urls="http://192.168.1.102:2380" \ - --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380" -``` - -登录 **host3** 执行: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name pd3 \ - -p 2379:2379 \ - -p 2380:2380 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - pingcap/pd:latest \ - --name="pd3" \ - --data-dir="/data/pd3" \ - --client-urls="http://0.0.0.0:2379" \ - --advertise-client-urls="http://192.168.1.103:2379" \ - --peer-urls="http://0.0.0.0:2380" \ - --advertise-peer-urls="http://192.168.1.103:2380" \ - --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380" -``` - -### 启动 TiKV - -登录 **host4** 执行: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name tikv1 \ - -p 20160:20160 \ - --ulimit nofile=1000000:1000000 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - pingcap/tikv:latest \ - --addr="0.0.0.0:20160" \ - --advertise-addr="192.168.1.104:20160" \ - --data-dir="/data/tikv1" \ - --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379" -``` - -登录 **host5** 执行: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name tikv2 \ - -p 20160:20160 \ - --ulimit nofile=1000000:1000000 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - pingcap/tikv:latest \ - --addr="0.0.0.0:20160" \ - --advertise-addr="192.168.1.105:20160" \ - --data-dir="/data/tikv2" \ - --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379" -``` - -登录 **host6** 执行: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name tikv3 \ - -p 20160:20160 \ - --ulimit nofile=1000000:1000000 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - pingcap/tikv:latest \ - --addr="0.0.0.0:20160" \ - --advertise-addr="192.168.1.106:20160" \ - --data-dir="/data/tikv3" \ - --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379" -``` - -### 启动 TiDB - -登录 **host1** 执行: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name tidb \ - -p 4000:4000 \ - -p 10080:10080 \ - -v /etc/localtime:/etc/localtime:ro \ - pingcap/tidb:latest \ - --store=tikv \ - --path="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379" -``` - -### 使用 MySQL 标准客户端连接 TiDB 测试 - -登录 **host1** 并确保已安装 [MySQL 命令行客户端](http://dev.mysql.com/downloads/mysql/),执行: - -{{< copyable "shell-regular" >}} - -```bash -mysql -h 127.0.0.1 -P 4000 -u root -D test -``` - -{{< copyable "sql" >}} - -```sql -show databases; -``` - -``` -+--------------------+ -| Database | -+--------------------+ -| INFORMATION_SCHEMA | -| PERFORMANCE_SCHEMA | -| mysql | -| test | -+--------------------+ -4 rows in set (0.00 sec) -``` - -### 如何自定义配置文件 - -TiKV 和 PD 可以通过指定配置文件的方式来加载更加丰富的启动参数,用于性能调优。 - -假定配置文件在宿主机上的存放路径 `/path/to/config/pd.toml` 和 `/path/to/config/tikv.toml`。启动 Docker 时需要调整相应的启动参数,以 tikv1 和 pd1 为例: - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name tikv1 \ - -p 20160:20160 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - -v /path/to/config/tikv.toml:/tikv.toml:ro \ - pingcap/tikv:latest \ - --addr="0.0.0.0:20160" \ - --advertise-addr="192.168.1.104:20160" \ - --data-dir="/data/tikv1" \ - --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379" \ - --config="/tikv.toml" -``` - -{{< copyable "shell-regular" >}} - -```bash -docker run -d --name pd1 \ - -p 2379:2379 \ - -p 2380:2380 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /data:/data \ - -v /path/to/config/pd.toml:/pd.toml:ro \ - pingcap/pd:latest \ - --name="pd1" \ - --data-dir="/data/pd1" \ - --client-urls="http://0.0.0.0:2379" \ - --advertise-client-urls="http://192.168.1.101:2379" \ - --peer-urls="http://0.0.0.0:2380" \ - --advertise-peer-urls="http://192.168.1.101:2380" \ - --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380" \ - --config="/pd.toml" -```