From 6adad88750ea8424007d3de871bcd44ca2fb21b5 Mon Sep 17 00:00:00 2001 From: Lonng Date: Wed, 20 May 2020 11:12:53 +0800 Subject: [PATCH 01/13] tiup: improve the TiUP related documents Signed-off-by: Lonng --- ...ponent.md => tiup-component-management.md} | 0 tiup/tiup-documentation-guide.md | 29 +++++++++++++ tiup/tiup-faq.md | 18 ++++++++ tiup/tiup-overview.md | 8 ---- ...kage-tiup-component.md => tiup-package.md} | 0 tiup/tiup-terms.md | 43 +++++++++++++++++++ tiup/tiup-troubleshoot.md | 24 +++++++++++ 7 files changed, 114 insertions(+), 8 deletions(-) rename tiup/{manage-tiup-component.md => tiup-component-management.md} (100%) create mode 100644 tiup/tiup-documentation-guide.md create mode 100644 tiup/tiup-faq.md rename tiup/{package-tiup-component.md => tiup-package.md} (100%) create mode 100644 tiup/tiup-terms.md create mode 100644 tiup/tiup-troubleshoot.md diff --git a/tiup/manage-tiup-component.md b/tiup/tiup-component-management.md similarity index 100% rename from tiup/manage-tiup-component.md rename to tiup/tiup-component-management.md diff --git a/tiup/tiup-documentation-guide.md b/tiup/tiup-documentation-guide.md new file mode 100644 index 000000000000..100005764f0d --- /dev/null +++ b/tiup/tiup-documentation-guide.md @@ -0,0 +1,29 @@ +--- +title: TiUP 文档指南 +category: tools +--- + +# TiUP 文档指南 + +## TiUP 使用文档 + +- [TiUP 概览](/tiup/tiup-overview.md):对 TiUP 进行整体介绍,如何安装和基本的用法 +- [TiUP 术语](/tiup/tiup-terms.md):解释使用 TiUP 过程中可能用到的术语 +- [TiUP 组件管理](/tiup/tiup-component-management.md):详细介绍 TiUP 所有命令,如何使用 TiUP 下载、更新、删除组件 +- [TiUP FAQ](/tiup/tiup-faq.md):TiUP 使用过程中的常见问题,包含 TiUP 第三方组件的 FAQ +- [TiUP 故障排查](/tiup/tiup-troubleshoot.md):如果在使用 TiUP 过程中遇到问题,可以参考故障排查文档 + +## TiUP 组件使用文档 + +- [tiup-playground](/tiup/tiup-playground.md):介绍如何使用 TiUP Playground 组件快速搭建本地测试集群 +- [tiup-cluster](/tiup/tiup-cluster.md):介绍 TiUP 的生产集群部署、运维组件 TiUP Cluster 的用法和命令行参数解释 +- [tiup-mirrors](/tiup/tiup-mirrors.md):介绍如何使用 TiUP Mirrors 组件自定义一个本地离线镜像 +- [tiup-package](/tiup/tiup-package.md):介绍如何使用 TiUP Package 组件将自已开发的程序打包为一个合法的 TiUP 组件 +- [tiup-bench](/tiup/tiup-bench.md):介绍如何试用贴 TiUP Bench 组件进行常见的压力测试,如 TPCC/TPCH + +## TiUP 资源 + +- [AskTUG TiUP](https://asktug.com/c/qa/set-up-deploy):AskTUG.com 部署版本 +- [TiUP Issues](https://github.com/pingcap-incubator/tiup/issues):TiUP Github Issues 列表 +- [TiUP Cluster Issues](https://github.com/pingcap-incubator/tiup-cluster/issues):TiUP Cluster Github Issues 列表 + diff --git a/tiup/tiup-faq.md b/tiup/tiup-faq.md new file mode 100644 index 000000000000..7ed6f7eb2c6d --- /dev/null +++ b/tiup/tiup-faq.md @@ -0,0 +1,18 @@ +--- +title: TiUP FAQ +category: tools +--- + +# TiUP FAQ + +## TiUP 是否可以不使用官方镜像源? + +TiUP 支持通过环境变量 TIUP_MIRRORS 指定镜像源,镜像源的地址可以是一个本地目录或 HTTP 服务器地址。如果用户的环境不能访问网络,可以建立自己的离线镜像源使用 TiUP。 + +## 如何将自己编写的组件放入 TiUP 镜像仓库? + +暂时 TiUP 还不能接受外部开发的组件,但是 TiUP Team 已经制定了 TiUP 组件开发规范,同时正在开发 tiup-publish 组件,完成 tiup-publish 组件后,开发者可以通过 `tiup publish ` 将自己开发的组件发布到 TiUP 的官方镜像仓库。 + +## tiup-playground 和 tiup-cluster 有什么区别? + +TiUP Playground 组件主要定位是快速上手和搭建单机的开发环境,支持 Linux/MacOS,要运行一个指定版本的 TiUP 集群更加简单。TiUP Cluster 组件主要是部署生成环境集群,通常是一个大规模的集群,还包含运维相关操作。 diff --git a/tiup/tiup-overview.md b/tiup/tiup-overview.md index 289af1db626d..0380dabc1570 100644 --- a/tiup/tiup-overview.md +++ b/tiup/tiup-overview.md @@ -127,11 +127,3 @@ Use "tiup [command] --help" for more information about a command. > - 组件的可用版本列表也会持续增加,以 `tiup list --refresh` 输出结果为准。 命令和组件的区别在于,命令是 TiUP 自带的,用于进行包管理的操作。而组件是 TiUP 通过包管理操作安装的独立组件包。比如执行 `tiup list` 命令,TiUP 会直接运行自己内部的代码,而执行 `tiup playground` 命令则会先检查本地有没有叫做 playground 的组件包,若没有则先从镜像上下载过来,然后运行这个组件包。 - -[使用 TiUP 管理组件](/tiup/manage-tiup-component.md)一节中介绍了所有的 TiUP 命令,组件的介绍则按照不同的组件分为以下几个章节: - -- [本地快速部署 TiDB 集群](/tiup/tiup-playground.md):playground 组件 -- [部署运维 TiDB 线上集群](/tiup/tiup-cluster.md):cluster 组件 -- [搭建私有镜像](/tiup/tiup-mirrors.md):mirrors 组件 -- [打包组件](/tiup/package-tiup-component.md):package 组件 -- [使用 TiUP 压测 TiDB](/tiup/tiup-bench.md):bench 组件 \ No newline at end of file diff --git a/tiup/package-tiup-component.md b/tiup/tiup-package.md similarity index 100% rename from tiup/package-tiup-component.md rename to tiup/tiup-package.md diff --git a/tiup/tiup-terms.md b/tiup/tiup-terms.md new file mode 100644 index 000000000000..6465a680022a --- /dev/null +++ b/tiup/tiup-terms.md @@ -0,0 +1,43 @@ +--- +title: TiUP 术语 +category: tools +--- + +# TiUP 术语 + +本文主要说明 TiUP 的核心概念。 + +## TiUP 组件 + +TiUP 程序只包含少数几个命令,用来下载、更新、卸载组件,通过组件来扩展 TiUP 的功能。**组件** 是一个可以运行的程序或脚本,通过 `tiup ` 运行组件时,TiUP 会添加一组环境变量,并为该程序创建好对应的数据目录,然后运行该程序。 + +TiUP 组件的命令使用方式为 `tiup ` 的形式运行支持的组件,其中运行的逻辑为: + +1. 用户通过 `tiup [:version]` 运行指定版本: + - 组件在本地未安装任何版本,则从镜像服务器下载最新稳定版本 + - 组件在本地安装有其他版本,但是没有用户指定的版本,则从镜像服务器下载用户指定版本版本 + - 如果本地已经安装指定版本,则设置环境变量执行运行已经安装的版本 +2. 如果用户通过 `tiup ` 运行,未指定任何版本 + - 组件在本地未安装任何版本,则从镜像服务器下载最新稳定版本 + - 如果本地已经安装部分版本,则设置环境变量执行运行已经安装的版本中具有最大版本号的版本。 + +开发一个组件本质上和写一个脚本以及开发一个普通的程序没有任何差别,区别在于 TiUP 组件需要使用 [`tiup package`](/tiup/tiup-package.md) 进行打包,并生成对应的元信息,已经在运行时 TiUP 会负责指定运行时临时目录。 + +通过 TiUP 运行的组件会包含以下环境变量(环境变量都在 TiUP 项目中的 pkg/localmeta/constant.go 中定义): + +- EnvNameInstanceDataDir = "TIUP_INSTANCE_DATA_DIR" 表示当前实例运行的工作目录,通常应该是 $TIUP_HOME/data/,其中 subdir 在用户没有指定 tag 的情况下为一个随机字符串,否则为用户指定的 tag。 +- EnvNameComponentDataDir = "TIUP_COMPONENT_DATA_DIR" 表示当前组件的持久化目录,通常应该是 $TIUP_HOME/storage/ +- EnvNameComponentInstallDir = "TIUP_COMPONENT_INSTALL_DIR" 表示当前组件的安装目录,通常应该是 $TIUP_HOME/components// +- EnvNameWorkDir = "TIUP_WORK_DIR" 表示 TiUP 的工作目录,如果组件参数包含路径,同时路径是一个相对路径,这个相对路径是相对于 TiUP 的工作目录,而不是组件的工作目录。 +- EnvNameHome = "TIUP_HOME" 表示 TiUP 的 Profile 目录 +- EnvTag = "TIUP_TAG" 表示这个实例的 tag + +## TiUP 镜像仓库 + +TiUP 的所有组件都从镜像仓库下载,镜像仓库包含各个组件的 TAR 包以及对应的元信息(版本、入口启动文件、校验和),TiUP 默认会使用 PingCAP 官方的镜像仓库。用户可以通过 TIUP_MIRRORS 环境变量自定义镜像仓库。 + +镜像仓库可以是本地文件目录或在线 HTTP 服务器: + +1. `TIUP_MIRRORS=/path/to/local tiup list --refresh` +2. `TIUP_MIRRORS=https://private-mirrors.example.com tiup list --refresh` + diff --git a/tiup/tiup-troubleshoot.md b/tiup/tiup-troubleshoot.md new file mode 100644 index 000000000000..1fae05cc1925 --- /dev/null +++ b/tiup/tiup-troubleshoot.md @@ -0,0 +1,24 @@ +--- +title: TiUP 故障排查 +category: tools +--- + +# TiUP 故障排查 + +## 1. TiUP 故障排查 + +本小节包含 TiUP 使用过程的常见故障,如果你遇到的故障未包含在以下列表中,请在通过以下方式求助: + +1. [Github Issues](https://github.com/pingcap-incubator/tiup/issues) 新建一个 Issue。 +2. 在 [AskTUG](https://asktug.com/) 提交你的问题。 + +### 1.1 下载失败 + +- 现象: + + ``` + ``` + +- 解决办法: + +## TiUP Cluster 组件组件故障 \ No newline at end of file From c5de71fe0ec1489825d58b18d854a9d4d9c3a2ed Mon Sep 17 00:00:00 2001 From: Lonng Date: Thu, 21 May 2020 14:56:24 +0800 Subject: [PATCH 02/13] add fag/troubleshoot documents Signed-off-by: Lonng --- tiup/tiup-faq.md | 25 ++++++++++++++++++++ tiup/tiup-troubleshoot.md | 50 +++++++++++++++++++++++++++++++-------- 2 files changed, 65 insertions(+), 10 deletions(-) diff --git a/tiup/tiup-faq.md b/tiup/tiup-faq.md index 7ed6f7eb2c6d..58da7b423a9b 100644 --- a/tiup/tiup-faq.md +++ b/tiup/tiup-faq.md @@ -16,3 +16,28 @@ TiUP 支持通过环境变量 TIUP_MIRRORS 指定镜像源,镜像源的地址 ## tiup-playground 和 tiup-cluster 有什么区别? TiUP Playground 组件主要定位是快速上手和搭建单机的开发环境,支持 Linux/MacOS,要运行一个指定版本的 TiUP 集群更加简单。TiUP Cluster 组件主要是部署生成环境集群,通常是一个大规模的集群,还包含运维相关操作。 + +## 怎么样编写 tiup-cluster 组件的拓扑文件? + +可以参考拓扑文件的 [样例](https://github.com/pingcap-incubator/tiup-cluster/tree/master/examples),样例中包含了: +1. 两地三中心 +2. 最小部署拓扑 +3. 完整拓扑文件 + +可以根据自己的需求选择不同的模板,进行编辑。 + +## 使用 tiup-cluster 组件需要注意什么? + +TiUP Cluster 组件的部署和扩容拓扑是使用 [yaml](https://yaml.org/spec/1.2/spec.html) 语法编写,所以需要注意缩进。 + +## 同一个主机是否可以部署多个实例? + +同一个主机可以使用 TiUP Cluster 部署多个实例,但是需要配置不同的端口和目录信息,否则可能导致目录以及端口冲突。 + +## 是否可以检测同一个集群内的端口和目录冲突? + +同一个集群的端口和目录冲突会在部署和扩容的时候进行检测,如果有目录和端口冲突,本次部署或扩容会中断。 + +## 是否检测不同集群的端口和目录冲突? + +如果不同集群是由同一个 TiUP 中控机部署的,会在部署和扩容时进行检测,如果属于不同的 TiUP 中控机,目前不支持检测。 diff --git a/tiup/tiup-troubleshoot.md b/tiup/tiup-troubleshoot.md index 1fae05cc1925..5d09c8ec6ce4 100644 --- a/tiup/tiup-troubleshoot.md +++ b/tiup/tiup-troubleshoot.md @@ -5,20 +5,50 @@ category: tools # TiUP 故障排查 -## 1. TiUP 故障排查 - -本小节包含 TiUP 使用过程的常见故障,如果你遇到的故障未包含在以下列表中,请在通过以下方式求助: +本文根据用户的使用会逐步收集常见的故障排查方式,如果本文中不包含你目前遇到的问题,可以通过以下方式求助: 1. [Github Issues](https://github.com/pingcap-incubator/tiup/issues) 新建一个 Issue。 2. 在 [AskTUG](https://asktug.com/) 提交你的问题。 -### 1.1 下载失败 +## 1. TiUP 故障排查 + +### 1.1 使用 `tiup list` 看不到最新的组件列表 + +TiUP 并不会每次都从镜像服务器更新最新的组件列表,可以通过 `tiup list --refresh` 来强制刷新组件列表。 + +### 1.2 使用 `tiup list ` 看不到一个组件的最新版本信息 + +同 1.1 一样,组件的版本信息只会在本地无缓存的情况下从镜像服务器获取,可以通过 `tiup list --refresh` 刷新组件列表。 + +### 1.3 下载组件的过程中中断 + +如果下载组件的过程中网络中断,可能是由于网络不稳定导致的,可以尝试重新下载,如果多次不能成功下载,请反馈到 [Github Issues](https://github.com/pingcap-incubator/tiup/issues),可能是由于 CDN 服务器导致的。 + +### 1.4 下载组件过程中出现 checksum 错误 + +由于 CDN 会有短暂的缓存时间,导致新的 checksum 文件和组件包不匹配,建议过 5 分钟后重试,如果依然不匹配,请反馈到 [Github Issues](https://github.com/pingcap-incubator/tiup/issues)。 + +## 2. TiUP Cluster 组件组件故障 + +### 2.1 部署过程中提示 `unable to authenticate, attempted methods [none publickey]` + +由于部署时会向远程主机上传组件包,以及进行初始化,这个过程需要连接到远程主机,该错误由于找不到连接到远程主机的 SSH 私钥导致的。请确认你是否通过 `tiup cluster deploy -i identity_file` 指定。 + +1. 如果没有指定 `-i` 参数,可能时由于 TiUP 没有自动找到私钥路径,建议通过显式 `-i` 指定公钥路径。 +2. 如果指定了 `-i` 参数,可能时由于指定的私钥不能登录,可以通过手动执行 `ssh -i identity_file user@remote` 来验证。 +3. 如果时通过密码登录远程主机,请确保指定了 `-p` 参数,同时输入了正确的登录密码。 + +### 2.3 使用 TiUP Cluster 升级中断 + +为了避免用户误用,TiUP Cluster 不支持指定部分节点升级,所以升级失败之后,需要重新进行升级操作,升级操作时幂等操作。 + +升级会分为两步: +1. 首先备份所有节点的老版本组件 +2. 分发新的组件到远程 +3. 滚动重启所有组件 -- 现象: - - ``` - ``` +如果升级过程中在滚动重启过程中中断,可以不用重复使用 `tiup cluster upgrade` 操作,而可以通过 `tiup cluster restart -N -N ` 来重启未完成重启的节点。如果同意组件的节点数量比较多,也可以通过 `tiup cluster restart -R ` 来重启某一个类型的组件。 -- 解决办法: +### 2.3 升级发现 `node_exporter-9100.service/blackbox_exporter-9115.service` 不存在 -## TiUP Cluster 组件组件故障 \ No newline at end of file +这种情况可能时由于之前的集群时由 Ansible 迁移过来的,之前 Ansible 未部署 exporter 导致的,要解决这种情况,暂时需要通过手动从其他节点复制缺少的文件到新的节点。后续我们会在迁移过程中补全缺失的组件。 From 76eb8379cef45ceeefe188af6a82cb65946b511a Mon Sep 17 00:00:00 2001 From: Lonng Date: Thu, 21 May 2020 15:02:31 +0800 Subject: [PATCH 03/13] add TiUP to TOC.md Signed-off-by: Lonng --- TOC.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/TOC.md b/TOC.md index 12691e8d7f8f..b37278e56866 100644 --- a/TOC.md +++ b/TOC.md @@ -190,6 +190,19 @@ + [Loader](/loader-overview.md) @王相 + [Mydumper](/mydumper-overview.md) @余峻岑 + [Syncer](/syncer-overview.md) @王相 + + TiUP @龙恒 + + [TiUP 文档指南](/tiup/tiup-documentation-guide.md) + + [TiUP 概览](/tiup/tiup-overview.md) + + [TiUP 术语](/tiup/tiup-terms.md) + + [TiUP 组件管理](/tiup/tiup-component-management.md) + + [TiUP FAQ](/tiup/tiup-faq.md) + + [TiUP 故障排查](/tiup/tiup-troubleshoot.md) + + TiUP 组件文档 + + [tiup-playground 运行本地测试集群](/tiup/tiup-playground.md) + + [tiup-cluster 部署运维生产集群](/tiup/tiup-cluster.md) + + [tiup-mirrors 定制离线镜像](/tiup/tiup-mirrors.md) + + [tiup-package 打包 TiUP 组件](/tiup/tiup-package.md) + + [tiup-bench 进行 TPCC/TPCH 压力测试](/tiup/tiup-bench.md) + 参考指南 + 架构 + [概述](/tidb-architecture.md) @黄东旭 From 5f16f0f71f58c1ec21e3ebd243e14bdd3bf2bc18 Mon Sep 17 00:00:00 2001 From: yikeke Date: Thu, 21 May 2020 16:53:47 +0800 Subject: [PATCH 04/13] add aliases to redirect old links --- tiup/tiup-component-management.md | 2 +- tiup/tiup-package.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tiup/tiup-component-management.md b/tiup/tiup-component-management.md index 2dc85a540345..6de9a819042a 100644 --- a/tiup/tiup-component-management.md +++ b/tiup/tiup-component-management.md @@ -1,7 +1,7 @@ --- title: 使用 TiUP 命令管理组件 category: tools -aliases: ['/docs-cn/dev/reference/tools/tiup/manage-component/'] +aliases: ['/docs-cn/dev/reference/tools/tiup/manage-component/','/docs-cn/dev/reference/tools/tiup/manage-tiup-component/'] --- # 使用 TiUP 命令管理组件 diff --git a/tiup/tiup-package.md b/tiup/tiup-package.md index b7495b436bb9..869494caf530 100644 --- a/tiup/tiup-package.md +++ b/tiup/tiup-package.md @@ -1,10 +1,10 @@ --- -title: 打包组件 +title: 打包 TiUP 组件 category: tools -aliases: ['/docs-cn/dev/reference/tools/tiup/package-component/'] +aliases: ['/docs-cn/dev/reference/tools/tiup/package-component/','/docs-cn/dev/reference/tools/tiup/package-tiup-component/'] --- -# 打包组件 +# 打包 TiUP 组件 当想要新增一个组件或者新增一个已有组件的版本时,需要用 tar 命令将相关文件打包然后传到镜像仓库中。用 tar 打包并不困难,麻烦在于需要更新仓库的元信息,因为要避免更新元信息的时候破坏已有组件的信息。 From 1b2daddae66a53f69155d8d5508e3ad9400cfca7 Mon Sep 17 00:00:00 2001 From: Lonng Date: Fri, 22 May 2020 09:34:19 +0800 Subject: [PATCH 05/13] Apply suggestions from code review Co-authored-by: Keke Yi <40977455+yikeke@users.noreply.github.com> --- tiup/tiup-faq.md | 5 +++-- tiup/tiup-terms.md | 35 +++++++++++++++++------------------ tiup/tiup-troubleshoot.md | 23 ++++++++++++----------- 3 files changed, 32 insertions(+), 31 deletions(-) diff --git a/tiup/tiup-faq.md b/tiup/tiup-faq.md index 58da7b423a9b..708116e0a384 100644 --- a/tiup/tiup-faq.md +++ b/tiup/tiup-faq.md @@ -11,7 +11,7 @@ TiUP 支持通过环境变量 TIUP_MIRRORS 指定镜像源,镜像源的地址 ## 如何将自己编写的组件放入 TiUP 镜像仓库? -暂时 TiUP 还不能接受外部开发的组件,但是 TiUP Team 已经制定了 TiUP 组件开发规范,同时正在开发 tiup-publish 组件,完成 tiup-publish 组件后,开发者可以通过 `tiup publish ` 将自己开发的组件发布到 TiUP 的官方镜像仓库。 +TiUP 暂时不支持外部开发的组件,但是 TiUP Team 已经制定了 TiUP 组件开发规范,同时正在开发 tiup-publish 组件,完成 tiup-publish 组件后,开发者可以通过 `tiup publish ` 将自己开发的组件发布到 TiUP 的官方镜像仓库。 ## tiup-playground 和 tiup-cluster 有什么区别? @@ -20,6 +20,7 @@ TiUP Playground 组件主要定位是快速上手和搭建单机的开发环境 ## 怎么样编写 tiup-cluster 组件的拓扑文件? 可以参考拓扑文件的 [样例](https://github.com/pingcap-incubator/tiup-cluster/tree/master/examples),样例中包含了: + 1. 两地三中心 2. 最小部署拓扑 3. 完整拓扑文件 @@ -38,6 +39,6 @@ TiUP Cluster 组件的部署和扩容拓扑是使用 [yaml](https://yaml.org/spe 同一个集群的端口和目录冲突会在部署和扩容的时候进行检测,如果有目录和端口冲突,本次部署或扩容会中断。 -## 是否检测不同集群的端口和目录冲突? +## 是否可以检测不同集群的端口和目录冲突? 如果不同集群是由同一个 TiUP 中控机部署的,会在部署和扩容时进行检测,如果属于不同的 TiUP 中控机,目前不支持检测。 diff --git a/tiup/tiup-terms.md b/tiup/tiup-terms.md index 6465a680022a..d73427c1c3aa 100644 --- a/tiup/tiup-terms.md +++ b/tiup/tiup-terms.md @@ -5,39 +5,38 @@ category: tools # TiUP 术语 -本文主要说明 TiUP 的核心概念。 +本文主要说明 TiUP 的重要术语和核心概念。 ## TiUP 组件 -TiUP 程序只包含少数几个命令,用来下载、更新、卸载组件,通过组件来扩展 TiUP 的功能。**组件** 是一个可以运行的程序或脚本,通过 `tiup ` 运行组件时,TiUP 会添加一组环境变量,并为该程序创建好对应的数据目录,然后运行该程序。 +TiUP 程序只包含少数几个命令,用来下载、更新、卸载组件。TiUP 通过各种组件来扩展其功能。**组件**是一个可以运行的程序或脚本,通过 `tiup ` 运行组件时,TiUP 会添加一组环境变量,并为该程序创建好对应的数据目录,然后运行该程序。 -TiUP 组件的命令使用方式为 `tiup ` 的形式运行支持的组件,其中运行的逻辑为: +通过运行 `tiup ` 命令,你可以运行支持的 TiUP 组件,其中运行的逻辑为: -1. 用户通过 `tiup [:version]` 运行指定版本: +1. 如果用户通过 `tiup [:version]` 运行指定某个组件的特定版本: - 组件在本地未安装任何版本,则从镜像服务器下载最新稳定版本 - - 组件在本地安装有其他版本,但是没有用户指定的版本,则从镜像服务器下载用户指定版本版本 - - 如果本地已经安装指定版本,则设置环境变量执行运行已经安装的版本 -2. 如果用户通过 `tiup ` 运行,未指定任何版本 + - 组件在本地安装有其他版本,但是没有用户指定的版本,则从镜像服务器下载用户指定版本 + - 如果本地已经安装指定版本,则设置环境变量来运行已经安装的版本 +2. 如果用户通过 `tiup ` 运行某个组件,且未指定任何版本: - 组件在本地未安装任何版本,则从镜像服务器下载最新稳定版本 - - 如果本地已经安装部分版本,则设置环境变量执行运行已经安装的版本中具有最大版本号的版本。 + - 如果本地已经安装部分版本,则设置环境变量来运行已经安装的版本中的最新版本 -开发一个组件本质上和写一个脚本以及开发一个普通的程序没有任何差别,区别在于 TiUP 组件需要使用 [`tiup package`](/tiup/tiup-package.md) 进行打包,并生成对应的元信息,已经在运行时 TiUP 会负责指定运行时临时目录。 +开发一个组件本质上和写一个脚本以及开发一个普通的程序没有任何差别,区别在于 TiUP 组件需要使用 [`tiup package`](/tiup/tiup-package.md) 进行打包,并生成对应的元信息,如果组件已经在运行时,TiUP 会负责指定运行时临时目录。 -通过 TiUP 运行的组件会包含以下环境变量(环境变量都在 TiUP 项目中的 pkg/localmeta/constant.go 中定义): +通过 TiUP 运行的组件会包含以下环境变量(环境变量都在 TiUP 项目中的 pkg/localmeta/constant.go 中定义): -- EnvNameInstanceDataDir = "TIUP_INSTANCE_DATA_DIR" 表示当前实例运行的工作目录,通常应该是 $TIUP_HOME/data/,其中 subdir 在用户没有指定 tag 的情况下为一个随机字符串,否则为用户指定的 tag。 -- EnvNameComponentDataDir = "TIUP_COMPONENT_DATA_DIR" 表示当前组件的持久化目录,通常应该是 $TIUP_HOME/storage/ -- EnvNameComponentInstallDir = "TIUP_COMPONENT_INSTALL_DIR" 表示当前组件的安装目录,通常应该是 $TIUP_HOME/components// -- EnvNameWorkDir = "TIUP_WORK_DIR" 表示 TiUP 的工作目录,如果组件参数包含路径,同时路径是一个相对路径,这个相对路径是相对于 TiUP 的工作目录,而不是组件的工作目录。 -- EnvNameHome = "TIUP_HOME" 表示 TiUP 的 Profile 目录 -- EnvTag = "TIUP_TAG" 表示这个实例的 tag +- `EnvNameInstanceDataDir = "TIUP_INSTANCE_DATA_DIR"` 表示当前实例运行的工作目录,通常应该是 `$TIUP_HOME/data/`,其中 subdir 为用户指定的 tag,如果用户没有指定 tag,则为一个随机字符串。 +- `EnvNameComponentDataDir = "TIUP_COMPONENT_DATA_DIR"` 表示当前组件的持久化目录,通常应该是 `$TIUP_HOME/storage/`。 +- `EnvNameComponentInstallDir = "TIUP_COMPONENT_INSTALL_DIR"` 表示当前组件的安装目录,通常应该是 `$TIUP_HOME/components//`。 +- `EnvNameWorkDir = "TIUP_WORK_DIR"` 表示 TiUP 的工作目录,如果组件参数包含路径,同时路径是一个相对路径,这个相对路径是相对于 TiUP 的工作目录,而不是组件的工作目录。 +- `EnvNameHome = "TIUP_HOME"` 表示 TiUP 的 Profile 目录。 +- `EnvTag = "TIUP_TAG"` 表示这个实例的 tag。 ## TiUP 镜像仓库 -TiUP 的所有组件都从镜像仓库下载,镜像仓库包含各个组件的 TAR 包以及对应的元信息(版本、入口启动文件、校验和),TiUP 默认会使用 PingCAP 官方的镜像仓库。用户可以通过 TIUP_MIRRORS 环境变量自定义镜像仓库。 +TiUP 的所有组件都从镜像仓库 (mirrors) 下载,镜像仓库包含各个组件的 TAR 包以及对应的元信息(版本、入口启动文件、校验和)。TiUP 默认使用 PingCAP 官方的镜像仓库。用户可以通过 TIUP_MIRRORS 环境变量自定义镜像仓库。 镜像仓库可以是本地文件目录或在线 HTTP 服务器: 1. `TIUP_MIRRORS=/path/to/local tiup list --refresh` 2. `TIUP_MIRRORS=https://private-mirrors.example.com tiup list --refresh` - diff --git a/tiup/tiup-troubleshoot.md b/tiup/tiup-troubleshoot.md index 5d09c8ec6ce4..e1213ef46f70 100644 --- a/tiup/tiup-troubleshoot.md +++ b/tiup/tiup-troubleshoot.md @@ -5,12 +5,12 @@ category: tools # TiUP 故障排查 -本文根据用户的使用会逐步收集常见的故障排查方式,如果本文中不包含你目前遇到的问题,可以通过以下方式求助: +本文介绍 TiUP 使用过程中一些常见的故障及排查方式,如果本文不包含你目前遇到的问题,可以通过以下方式求助: 1. [Github Issues](https://github.com/pingcap-incubator/tiup/issues) 新建一个 Issue。 2. 在 [AskTUG](https://asktug.com/) 提交你的问题。 -## 1. TiUP 故障排查 +## 1. TiUP 命令故障排查 ### 1.1 使用 `tiup list` 看不到最新的组件列表 @@ -28,27 +28,28 @@ TiUP 并不会每次都从镜像服务器更新最新的组件列表,可以通 由于 CDN 会有短暂的缓存时间,导致新的 checksum 文件和组件包不匹配,建议过 5 分钟后重试,如果依然不匹配,请反馈到 [Github Issues](https://github.com/pingcap-incubator/tiup/issues)。 -## 2. TiUP Cluster 组件组件故障 +## 2. TiUP Cluster 组件故障排查 ### 2.1 部署过程中提示 `unable to authenticate, attempted methods [none publickey]` -由于部署时会向远程主机上传组件包,以及进行初始化,这个过程需要连接到远程主机,该错误由于找不到连接到远程主机的 SSH 私钥导致的。请确认你是否通过 `tiup cluster deploy -i identity_file` 指定。 +由于部署时会向远程主机上传组件包,以及进行初始化,这个过程需要连接到远程主机,该错误是由于找不到连接到远程主机的 SSH 私钥导致的。请确认你是否通过 `tiup cluster deploy -i identity_file` 指定该私钥。 -1. 如果没有指定 `-i` 参数,可能时由于 TiUP 没有自动找到私钥路径,建议通过显式 `-i` 指定公钥路径。 -2. 如果指定了 `-i` 参数,可能时由于指定的私钥不能登录,可以通过手动执行 `ssh -i identity_file user@remote` 来验证。 -3. 如果时通过密码登录远程主机,请确保指定了 `-p` 参数,同时输入了正确的登录密码。 +1. 如果没有指定 `-i` 参数,可能是由于 TiUP 没有自动找到私钥路径,建议通过 `-i` 显式指定私钥路径。 +2. 如果指定了 `-i` 参数,可能是由于指定的私钥不能登录,可以通过手动执行 `ssh -i identity_file user@remote` 命令来验证。 +3. 如果是通过密码登录远程主机,请确保指定了 `-p` 参数,同时输入了正确的登录密码。 ### 2.3 使用 TiUP Cluster 升级中断 -为了避免用户误用,TiUP Cluster 不支持指定部分节点升级,所以升级失败之后,需要重新进行升级操作,升级操作时幂等操作。 +为了避免用户误用,TiUP Cluster 不支持指定部分节点升级,所以升级失败之后,需要重新进行升级操作,包括升级过程中的幂等操作。 + +升级操作会分为以下几步: -升级会分为两步: 1. 首先备份所有节点的老版本组件 2. 分发新的组件到远程 3. 滚动重启所有组件 -如果升级过程中在滚动重启过程中中断,可以不用重复使用 `tiup cluster upgrade` 操作,而可以通过 `tiup cluster restart -N -N ` 来重启未完成重启的节点。如果同意组件的节点数量比较多,也可以通过 `tiup cluster restart -R ` 来重启某一个类型的组件。 +如果升级操作在滚动重启时中断,可以不用重复进行 `tiup cluster upgrade` 操作,而是通过 `tiup cluster restart -N -N ` 来重启未完成重启的节点。如果同一组件的未重启节点数量比较多,也可以通过 `tiup cluster restart -R ` 来重启某一个类型的组件。 ### 2.3 升级发现 `node_exporter-9100.service/blackbox_exporter-9115.service` 不存在 -这种情况可能时由于之前的集群时由 Ansible 迁移过来的,之前 Ansible 未部署 exporter 导致的,要解决这种情况,暂时需要通过手动从其他节点复制缺少的文件到新的节点。后续我们会在迁移过程中补全缺失的组件。 +这种情况可能是由于之前的集群是由 TiDB Ansible 迁移过来的,且之前 TiDB Ansible 未部署 exporter 导致的。要解决这种情况,可以暂时通过手动从其他节点复制缺少的文件到新的节点。后续我们会在迁移过程中补全缺失的组件。 From 494795fe539627e11249918e7e0a1c1b030afe2e Mon Sep 17 00:00:00 2001 From: Lonng Date: Fri, 22 May 2020 09:34:36 +0800 Subject: [PATCH 06/13] address comment Signed-off-by: Lonng --- TOC.md | 2 +- tiup/tiup-cluster.md | 2 ++ tiup/tiup-documentation-guide.md | 8 ++++---- tiup/tiup-faq.md | 4 ---- ...tiup-troubleshoot.md => tiup-troubleshooting-guide.md} | 0 5 files changed, 7 insertions(+), 9 deletions(-) rename tiup/{tiup-troubleshoot.md => tiup-troubleshooting-guide.md} (100%) diff --git a/TOC.md b/TOC.md index b9dc9d269c54..029be9e29645 100644 --- a/TOC.md +++ b/TOC.md @@ -194,7 +194,7 @@ + [TiUP 术语](/tiup/tiup-terms.md) + [TiUP 组件管理](/tiup/tiup-component-management.md) + [TiUP FAQ](/tiup/tiup-faq.md) - + [TiUP 故障排查](/tiup/tiup-troubleshoot.md) + + [TiUP 故障排查](/tiup/tiup-troubleshooting-guide.md) + TiUP 组件文档 + [tiup-playground 运行本地测试集群](/tiup/tiup-playground.md) + [tiup-cluster 部署运维生产集群](/tiup/tiup-cluster.md) diff --git a/tiup/tiup-cluster.md b/tiup/tiup-cluster.md index 33cd30ac8c18..67506ff48837 100644 --- a/tiup/tiup-cluster.md +++ b/tiup/tiup-cluster.md @@ -63,6 +63,8 @@ tiup cluster deploy [flags] 拓扑文件的编写可参考[示例](https://github.com/pingcap-incubator/tiup-cluster/blob/master/examples/topology.example.yaml)。以一个最简单的拓扑为例,将下列文件保存为 `/tmp/topology.yaml`: +> TiUP Cluster 组件的部署和扩容拓扑是使用 [yaml](https://yaml.org/spec/1.2/spec.html) 语法编写,所以需要注意缩进。 + ```yaml --- diff --git a/tiup/tiup-documentation-guide.md b/tiup/tiup-documentation-guide.md index 100005764f0d..602fa411d55f 100644 --- a/tiup/tiup-documentation-guide.md +++ b/tiup/tiup-documentation-guide.md @@ -11,19 +11,19 @@ category: tools - [TiUP 术语](/tiup/tiup-terms.md):解释使用 TiUP 过程中可能用到的术语 - [TiUP 组件管理](/tiup/tiup-component-management.md):详细介绍 TiUP 所有命令,如何使用 TiUP 下载、更新、删除组件 - [TiUP FAQ](/tiup/tiup-faq.md):TiUP 使用过程中的常见问题,包含 TiUP 第三方组件的 FAQ -- [TiUP 故障排查](/tiup/tiup-troubleshoot.md):如果在使用 TiUP 过程中遇到问题,可以参考故障排查文档 +- [TiUP 故障排查](/tiup/tiup-troubleshooting-guide.md):如果在使用 TiUP 过程中遇到问题,可以参考故障排查文档的解决方案 ## TiUP 组件使用文档 - [tiup-playground](/tiup/tiup-playground.md):介绍如何使用 TiUP Playground 组件快速搭建本地测试集群 - [tiup-cluster](/tiup/tiup-cluster.md):介绍 TiUP 的生产集群部署、运维组件 TiUP Cluster 的用法和命令行参数解释 - [tiup-mirrors](/tiup/tiup-mirrors.md):介绍如何使用 TiUP Mirrors 组件自定义一个本地离线镜像 -- [tiup-package](/tiup/tiup-package.md):介绍如何使用 TiUP Package 组件将自已开发的程序打包为一个合法的 TiUP 组件 -- [tiup-bench](/tiup/tiup-bench.md):介绍如何试用贴 TiUP Bench 组件进行常见的压力测试,如 TPCC/TPCH +- [tiup-package](/tiup/tiup-package.md):介绍如何使用 TiUP Package 组件将自已开发的程序打包为一个符合 TiUP 组件规范的包 +- [tiup-bench](/tiup/tiup-bench.md):介绍如何使用 TiUP Bench 组件进行常见的压力测试,如 TPCC/TPCH ## TiUP 资源 -- [AskTUG TiUP](https://asktug.com/c/qa/set-up-deploy):AskTUG.com 部署版本 +- [AskTUG TiUP](https://asktug.com/c/qa/set-up-deploy):AskTUG.com 部署板块 - [TiUP Issues](https://github.com/pingcap-incubator/tiup/issues):TiUP Github Issues 列表 - [TiUP Cluster Issues](https://github.com/pingcap-incubator/tiup-cluster/issues):TiUP Cluster Github Issues 列表 diff --git a/tiup/tiup-faq.md b/tiup/tiup-faq.md index 708116e0a384..08e1018dadc6 100644 --- a/tiup/tiup-faq.md +++ b/tiup/tiup-faq.md @@ -27,10 +27,6 @@ TiUP Playground 组件主要定位是快速上手和搭建单机的开发环境 可以根据自己的需求选择不同的模板,进行编辑。 -## 使用 tiup-cluster 组件需要注意什么? - -TiUP Cluster 组件的部署和扩容拓扑是使用 [yaml](https://yaml.org/spec/1.2/spec.html) 语法编写,所以需要注意缩进。 - ## 同一个主机是否可以部署多个实例? 同一个主机可以使用 TiUP Cluster 部署多个实例,但是需要配置不同的端口和目录信息,否则可能导致目录以及端口冲突。 diff --git a/tiup/tiup-troubleshoot.md b/tiup/tiup-troubleshooting-guide.md similarity index 100% rename from tiup/tiup-troubleshoot.md rename to tiup/tiup-troubleshooting-guide.md From 7481908cd5ab9a266ec9647a0d8439da559fe96f Mon Sep 17 00:00:00 2001 From: yikeke Date: Fri, 22 May 2020 11:09:25 +0800 Subject: [PATCH 07/13] refine TOC and a filename --- TOC.md | 10 +++++----- ...{tiup-terms.md => tiup-terminology-and-concepts.md} | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) rename tiup/{tiup-terms.md => tiup-terminology-and-concepts.md} (97%) diff --git a/TOC.md b/TOC.md index 029be9e29645..bc902347bbe9 100644 --- a/TOC.md +++ b/TOC.md @@ -189,12 +189,12 @@ + [Mydumper](/mydumper-overview.md) @余峻岑 + [Syncer](/syncer-overview.md) @王相 + TiUP @龙恒 - + [TiUP 文档指南](/tiup/tiup-documentation-guide.md) - + [TiUP 概览](/tiup/tiup-overview.md) - + [TiUP 术语](/tiup/tiup-terms.md) + + [文档指南](/tiup/tiup-documentation-guide.md) + + [概览](/tiup/tiup-overview.md) + + [术语及核心概念](/tiup/tiup-terminology-and-concepts.md) + [TiUP 组件管理](/tiup/tiup-component-management.md) - + [TiUP FAQ](/tiup/tiup-faq.md) - + [TiUP 故障排查](/tiup/tiup-troubleshooting-guide.md) + + [FAQ](/tiup/tiup-faq.md) + + [故障排查](/tiup/tiup-troubleshooting-guide.md) + TiUP 组件文档 + [tiup-playground 运行本地测试集群](/tiup/tiup-playground.md) + [tiup-cluster 部署运维生产集群](/tiup/tiup-cluster.md) diff --git a/tiup/tiup-terms.md b/tiup/tiup-terminology-and-concepts.md similarity index 97% rename from tiup/tiup-terms.md rename to tiup/tiup-terminology-and-concepts.md index d73427c1c3aa..852c5363bcfc 100644 --- a/tiup/tiup-terms.md +++ b/tiup/tiup-terminology-and-concepts.md @@ -1,9 +1,9 @@ --- -title: TiUP 术语 +title: TiUP 术语及核心概念 category: tools --- -# TiUP 术语 +# TiUP 术语及核心概念 本文主要说明 TiUP 的重要术语和核心概念。 From 9561bf0f1a59428a183ebede5e94a60293350710 Mon Sep 17 00:00:00 2001 From: yikeke Date: Fri, 22 May 2020 11:10:33 +0800 Subject: [PATCH 08/13] fix ci --- tiup/tiup-documentation-guide.md | 1 - 1 file changed, 1 deletion(-) diff --git a/tiup/tiup-documentation-guide.md b/tiup/tiup-documentation-guide.md index 602fa411d55f..b05204b8b33a 100644 --- a/tiup/tiup-documentation-guide.md +++ b/tiup/tiup-documentation-guide.md @@ -26,4 +26,3 @@ category: tools - [AskTUG TiUP](https://asktug.com/c/qa/set-up-deploy):AskTUG.com 部署板块 - [TiUP Issues](https://github.com/pingcap-incubator/tiup/issues):TiUP Github Issues 列表 - [TiUP Cluster Issues](https://github.com/pingcap-incubator/tiup-cluster/issues):TiUP Cluster Github Issues 列表 - From ab33fb113a5ff29decd876454ade101de130151f Mon Sep 17 00:00:00 2001 From: Lonng Date: Sun, 24 May 2020 11:15:52 +0800 Subject: [PATCH 09/13] Update tiup/tiup-cluster.md Co-authored-by: Keke Yi <40977455+yikeke@users.noreply.github.com> --- tiup/tiup-cluster.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tiup/tiup-cluster.md b/tiup/tiup-cluster.md index 67506ff48837..a958e1c4cacb 100644 --- a/tiup/tiup-cluster.md +++ b/tiup/tiup-cluster.md @@ -63,6 +63,8 @@ tiup cluster deploy [flags] 拓扑文件的编写可参考[示例](https://github.com/pingcap-incubator/tiup-cluster/blob/master/examples/topology.example.yaml)。以一个最简单的拓扑为例,将下列文件保存为 `/tmp/topology.yaml`: +> **注意:** +> > TiUP Cluster 组件的部署和扩容拓扑是使用 [yaml](https://yaml.org/spec/1.2/spec.html) 语法编写,所以需要注意缩进。 ```yaml From a8bba8001f62904ff99926e94339316108e4f7f8 Mon Sep 17 00:00:00 2001 From: yikeke Date: Sun, 24 May 2020 12:35:55 +0800 Subject: [PATCH 10/13] fix a dead link --- tiup/tiup-documentation-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiup/tiup-documentation-guide.md b/tiup/tiup-documentation-guide.md index b05204b8b33a..99886bdfe918 100644 --- a/tiup/tiup-documentation-guide.md +++ b/tiup/tiup-documentation-guide.md @@ -8,7 +8,7 @@ category: tools ## TiUP 使用文档 - [TiUP 概览](/tiup/tiup-overview.md):对 TiUP 进行整体介绍,如何安装和基本的用法 -- [TiUP 术语](/tiup/tiup-terms.md):解释使用 TiUP 过程中可能用到的术语 +- [TiUP 术语](/tiup/tiup-terminology-and-concepts.md):解释使用 TiUP 过程中可能用到的术语,了解 TiUP 的核心概念 - [TiUP 组件管理](/tiup/tiup-component-management.md):详细介绍 TiUP 所有命令,如何使用 TiUP 下载、更新、删除组件 - [TiUP FAQ](/tiup/tiup-faq.md):TiUP 使用过程中的常见问题,包含 TiUP 第三方组件的 FAQ - [TiUP 故障排查](/tiup/tiup-troubleshooting-guide.md):如果在使用 TiUP 过程中遇到问题,可以参考故障排查文档的解决方案 From 1f42eeca51932626fe32732aa5c3d4ebb98695b6 Mon Sep 17 00:00:00 2001 From: yikeke Date: Sun, 24 May 2020 12:39:47 +0800 Subject: [PATCH 11/13] fix a link --- TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TOC.md b/TOC.md index e1165d042050..c0350fb4cedb 100644 --- a/TOC.md +++ b/TOC.md @@ -80,7 +80,7 @@ + [告警处理](/handle-alerts.md) @李宋高 + [日常巡检](/daily-inspection.md) @王军 + [TiCDC 任务管理](/ticdc/manage-ticdc.md) @沈泰宁 - + [TiUP 常用运维操作](/tiup/manage-tiup-component.md) @王贤净 + + [TiUP 常用运维操作](/tiup/maintain-tidb-using-tiup.md) @王贤净 + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 + 故障诊断 + 硬件故障 @周强 From 0affc1c88210df2c2e1ff7583e95ef2b48887dfa Mon Sep 17 00:00:00 2001 From: yikeke Date: Mon, 25 May 2020 11:10:16 +0800 Subject: [PATCH 12/13] fix a link --- TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TOC.md b/TOC.md index c0350fb4cedb..182e01573c42 100644 --- a/TOC.md +++ b/TOC.md @@ -80,7 +80,7 @@ + [告警处理](/handle-alerts.md) @李宋高 + [日常巡检](/daily-inspection.md) @王军 + [TiCDC 任务管理](/ticdc/manage-ticdc.md) @沈泰宁 - + [TiUP 常用运维操作](/tiup/maintain-tidb-using-tiup.md) @王贤净 + + [TiUP 常用运维操作](/maintain-tidb-using-tiup.md) @王贤净 + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 + 故障诊断 + 硬件故障 @周强 From 25ec532466c9e33bd01501680a114c6edd6b3fab Mon Sep 17 00:00:00 2001 From: Lonng Date: Mon, 25 May 2020 15:14:04 +0800 Subject: [PATCH 13/13] address comments Signed-off-by: Lonng --- tiup/tiup-terminology-and-concepts.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/tiup/tiup-terminology-and-concepts.md b/tiup/tiup-terminology-and-concepts.md index 852c5363bcfc..a1a31698c3a4 100644 --- a/tiup/tiup-terminology-and-concepts.md +++ b/tiup/tiup-terminology-and-concepts.md @@ -20,17 +20,6 @@ TiUP 程序只包含少数几个命令,用来下载、更新、卸载组件。 2. 如果用户通过 `tiup ` 运行某个组件,且未指定任何版本: - 组件在本地未安装任何版本,则从镜像服务器下载最新稳定版本 - 如果本地已经安装部分版本,则设置环境变量来运行已经安装的版本中的最新版本 - -开发一个组件本质上和写一个脚本以及开发一个普通的程序没有任何差别,区别在于 TiUP 组件需要使用 [`tiup package`](/tiup/tiup-package.md) 进行打包,并生成对应的元信息,如果组件已经在运行时,TiUP 会负责指定运行时临时目录。 - -通过 TiUP 运行的组件会包含以下环境变量(环境变量都在 TiUP 项目中的 pkg/localmeta/constant.go 中定义): - -- `EnvNameInstanceDataDir = "TIUP_INSTANCE_DATA_DIR"` 表示当前实例运行的工作目录,通常应该是 `$TIUP_HOME/data/`,其中 subdir 为用户指定的 tag,如果用户没有指定 tag,则为一个随机字符串。 -- `EnvNameComponentDataDir = "TIUP_COMPONENT_DATA_DIR"` 表示当前组件的持久化目录,通常应该是 `$TIUP_HOME/storage/`。 -- `EnvNameComponentInstallDir = "TIUP_COMPONENT_INSTALL_DIR"` 表示当前组件的安装目录,通常应该是 `$TIUP_HOME/components//`。 -- `EnvNameWorkDir = "TIUP_WORK_DIR"` 表示 TiUP 的工作目录,如果组件参数包含路径,同时路径是一个相对路径,这个相对路径是相对于 TiUP 的工作目录,而不是组件的工作目录。 -- `EnvNameHome = "TIUP_HOME"` 表示 TiUP 的 Profile 目录。 -- `EnvTag = "TIUP_TAG"` 表示这个实例的 tag。 ## TiUP 镜像仓库