TiUP 离线镜像源搭建教程

Linux
image-20250827083017902

前言

tiup 镜像为部署集群或通过 tiup 执行相关工具的源,可以是本地的离线镜像(本地的一个目录)或远程镜像(官方镜像 https://tiup-mirrors.pingcap.com)。

TiUP 简介

TiUP是一个TiDB包管理器,管理众多组件如TiDB、PD、TiKV等。 当想要运行任何组件时,只需要执行一条TiUP命令即可。

TiUP 安装

在 TiDB 官方文档中,建议联网安装 TiUP 组件:

[root@lucifer ~]# curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

但是很多内网环境不支持外网连接,即使是临时开通部署后,后续运维也可能会遇到报错:

failed to start: fetch /timestamp.json from mirror(https://tiup-mirrors.pingcap.com) failed: download from https://tiup-mirrors.pingcap.com/timestamp.json failed: Get “https://tiup-mirrors.pingcap.com/timestamp.json”: dial tcp: lookup tiup-mirrors.pingcap.com on 114.114.114.114:53: read udp 192.168.52.2:44673->114.114.114.114:53: i/o timeout

查看镜像源配置:

## 代表为官方镜像源
[root@lucifer ~]# tiup mirror show
https://tiup-mirrors.pingcap.com

建议内网环境部署完成后,切换为本地离线镜像源,方便运维。

离线部署

准备 TiUP 离线组件包

首先,找一台可以连接外网的主机,在线安装 TiUP 包管理器工具:

[root@lucifer ~]# curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

确保 tiup 已经成功安装:

[root@lucifer ~]# source .bash_profile
[root@lucifer ~]# tiup --version
1.16.2 tiup
Go Version: go1.21.13
Git Ref: v1.16.2
GitHash: 678c52de0c0ef30634b8ba7302a8376caa95d50d

使用 tiup mirror clone 命令手动拉取需要的组件:

## 定义对应版本,我这里是 v8.5.3
[root@lucifer ~]# version=v8.5.3
[root@lucifer ~]# tiup mirror clone tidb-community-server-${version}-linux-amd64 ${version} --os=linux --arch=amd64

通过 tar 命令打包离线组件包:

[root@lucifer ~]# tar czvf tidb-community-server-${version}-linux-amd64.tar.gz tidb-community-server-${version}-linux-amd64
tidb-community-server-v8.5.3-linux-amd64/
tidb-community-server-v8.5.3-linux-amd64/prometheus-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/tispark-v2.4.1-any-any.tar.gz
tidb-community-server-v8.5.3-linux-amd64/alertmanager-v0.26.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/PCC-v1.0.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/insight-v0.4.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/82.tikv-importer.json
tidb-community-server-v8.5.3-linux-amd64/3738.dmctl.json
tidb-community-server-v8.5.3-linux-amd64/1.index.json
tidb-community-server-v8.5.3-linux-amd64/5768.grafana.json
tidb-community-server-v8.5.3-linux-amd64/dmctl-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/influxdb-v2.5.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/pd-recover-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/demo-v0.0.11-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/spark-v2.4.3-any-any.tar.gz
tidb-community-server-v8.5.3-linux-amd64/715.bench.json
tidb-community-server-v8.5.3-linux-amd64/183.sync-diff-inspector.json
tidb-community-server-v8.5.3-linux-amd64/1180.tiup.json
tidb-community-server-v8.5.3-linux-amd64/pd-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/tiproxy-v1.3.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/tiflash-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/6953.pd-recover.json
tidb-community-server-v8.5.3-linux-amd64/tiup-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/11283.dumpling.json
tidb-community-server-v8.5.3-linux-amd64/4863.pump.json
tidb-community-server-v8.5.3-linux-amd64/10.errdoc.json
tidb-community-server-v8.5.3-linux-amd64/blackbox_exporter-v0.23.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/sync-diff-inspector-v9.0.0-beta.1-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/drainer-v8.3.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/server-v1.16.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/9609.ctl.json
tidb-community-server-v8.5.3-linux-amd64/tikv-importer-v4.0.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/9.blackbox_exporter.json
tidb-community-server-v8.5.3-linux-amd64/package-v0.0.9-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/tidb-lightning-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/11.PCC.json
tidb-community-server-v8.5.3-linux-amd64/cluster-v1.16.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/dm-master-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/snapshot.json
tidb-community-server-v8.5.3-linux-amd64/17.tispark.json
tidb-community-server-v8.5.3-linux-amd64/pump-v8.3.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/dba-v1.0.4-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/tidb-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/6.tikv-br.json
tidb-community-server-v8.5.3-linux-amd64/br-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/40.demo.json
tidb-community-server-v8.5.3-linux-amd64/11356.tidb-lightning.json
tidb-community-server-v8.5.3-linux-amd64/1.root.json
tidb-community-server-v8.5.3-linux-amd64/diag-v1.6.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/3.package.json
tidb-community-server-v8.5.3-linux-amd64/tikv-cdc-v1.1.1-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/18.insight.json
tidb-community-server-v8.5.3-linux-amd64/7.alertmanager.json
tidb-community-server-v8.5.3-linux-amd64/6950.cdc.json
tidb-community-server-v8.5.3-linux-amd64/bench-v1.12.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/pushgateway-v0.7.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/keys/
tidb-community-server-v8.5.3-linux-amd64/keys/260cacafffd26c47-snapshot.json
tidb-community-server-v8.5.3-linux-amd64/keys/518ba018508a1d66-root.json
tidb-community-server-v8.5.3-linux-amd64/keys/aac1ca97e377f6d2-root.json
tidb-community-server-v8.5.3-linux-amd64/keys/5aceabfad76e9981-index.json
tidb-community-server-v8.5.3-linux-amd64/keys/8c45deaddd757516-pingcap.json
tidb-community-server-v8.5.3-linux-amd64/keys/7b0cbab4be036527-timestamp.json
tidb-community-server-v8.5.3-linux-amd64/keys/dc36ee9e5bc7dcd9-root.json
tidb-community-server-v8.5.3-linux-amd64/dm-v1.16.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/4834.drainer.json
tidb-community-server-v8.5.3-linux-amd64/1089.playground.json
tidb-community-server-v8.5.3-linux-amd64/1030.server.json
tidb-community-server-v8.5.3-linux-amd64/1014.client.json
tidb-community-server-v8.5.3-linux-amd64/6966.pd.json
tidb-community-server-v8.5.3-linux-amd64/3749.dm-master.json
tidb-community-server-v8.5.3-linux-amd64/5.pushgateway.json
tidb-community-server-v8.5.3-linux-amd64/tikv-br-v1.1.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/tikv-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/ctl-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/764.tiproxy.json
tidb-community-server-v8.5.3-linux-amd64/6374.tiflash.json
tidb-community-server-v8.5.3-linux-amd64/dm-worker-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/5.chaosd.json
tidb-community-server-v8.5.3-linux-amd64/root.json
tidb-community-server-v8.5.3-linux-amd64/3747.dm-worker.json
tidb-community-server-v8.5.3-linux-amd64/errdoc-v4.0.7-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/tidb-dashboard-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/5821.prometheus.json
tidb-community-server-v8.5.3-linux-amd64/7.influxdb.json
tidb-community-server-v8.5.3-linux-amd64/4.dba.json
tidb-community-server-v8.5.3-linux-amd64/playground-v1.16.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/1077.dm.json
tidb-community-server-v8.5.3-linux-amd64/dumpling-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/chaosd-v1.1.1-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/grafana-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/2.spark.json
tidb-community-server-v8.5.3-linux-amd64/local_install.sh
tidb-community-server-v8.5.3-linux-amd64/client-v1.16.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/4.tikv-cdc.json
tidb-community-server-v8.5.3-linux-amd64/tiup-v1.16.2-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/113.cloud.json
tidb-community-server-v8.5.3-linux-amd64/cdc-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/1173.cluster.json
tidb-community-server-v8.5.3-linux-amd64/6604.tikv.json
tidb-community-server-v8.5.3-linux-amd64/9.node_exporter.json
tidb-community-server-v8.5.3-linux-amd64/cloud-v1.0.0-beta.5-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/timestamp.json
tidb-community-server-v8.5.3-linux-amd64/2240.diag.json
tidb-community-server-v8.5.3-linux-amd64/node_exporter-v1.5.0-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-amd64/482.tidb-dashboard.json
tidb-community-server-v8.5.3-linux-amd64/11366.br.json
tidb-community-server-v8.5.3-linux-amd64/11059.tidb.json

[root@lucifer ~]# ll tidb-community-server-v8.5.3-linux-amd64.tar.gz
-rw-r--r-- 1 root root 3207855391 Aug 26 09:53 tidb-community-server-v8.5.3-linux-amd64.tar.gz

此时,tidb-community-server-v8.5.3-linux-amd64.tar.gz 就是一个独立的离线环境包。

部署离线环境 TiUP 组件

将离线包发送到目标集群的中控机:

[root@prod1 ~]# scp 192.168.31.222:/data/tidb-community-server-v8.5.3-linux-amd64.tar.gz .
root@192.168.31.222's password:
tidb-community-server-v8.5.3-linux-amd64.tar.gz                                                                                                                                                    100% 3059MB 160.0MB/s   00:19

执行以下命令安装 TiUP 组件:

## 解压离线环境包
[root@prod1 ~]# tar -xf tidb-community-server-v8.5.3-linux-amd64.tar.gz

## local_install.sh 脚本会自动执行设置当前镜像地址为离线镜像源
[root@prod1 ~]# sh tidb-community-server-v8.5.3-linux-amd64/local_install.sh 

Detected shell: bash
Shell profile:  /root/.bash_profile

✔ Installed in /root/.tiup/bin/tiup
✔ tiup PATH is already set, skip

tiup is installed now 🎉

Next step:

  1: To make PATH change effective, restart your shell or execute:
     source /root/.bash_profile

  2: Start a local TiDB for development:
     tiup playground

## 生效环境变量
[root@prod1 ~]# source /root/.bash_profile

查看 tiup 版本:

[root@prod1 ~]# tiup --version
1.16.2 v1.16.2-nightly-39
Go Version: go1.24.1
Git Ref: master
GitHash: f6aa0ac09b9d6405929c2cea3c0207880e53d199

查看可用组件:

[root@prod1 ~]# tiup list
Available components:
Name                 Owner    Description
----                 -----    -----------
PCC                  pingcap  A tool used to capture plan changes among different versions of TiDB
alertmanager         pingcap  Prometheus alertmanager
bench                pingcap  Benchmark database with different workloads
blackbox_exporter    pingcap  Blackbox prober exporter
br                   pingcap  TiDB/TiKV cluster backup restore tool.
cdc                  pingcap  CDC is a change data capture tool for TiDB
chaosd               pingcap  An easy-to-use Chaos Engineering tool used to inject failures to a physical node
client               pingcap  Client to connect playground
cloud                pingcap  CLI tool to manage TiDB Cloud
cluster              pingcap  Deploy a TiDB cluster for production
ctl                  pingcap  TiDB controller suite
dba                  pingcap  dbatoolset
demo                 pingcap  The dataset import tools for the demo of TiDB
diag                 pingcap  Clinic client for data collection and quick health check
dm                   pingcap  Data Migration Platform manager
dm-master            pingcap  dm-master component of Data Migration Platform.
dm-worker            pingcap  dm-worker component of Data Migration Platform.
dmctl                pingcap  dmctl component of Data Migration Platform.
drainer              pingcap  The drainer componet of TiDB binlog service
dumpling             pingcap  Dumpling is a CLI tool that helps you dump MySQL/TiDB data.
errdoc               pingcap  Document about TiDB errors
grafana              pingcap  Grafana is the open source analytics \u0026 monitoring solution for every database
influxdb             pingcap  InfluxDB
insight              pingcap  TiDB-Insight collector
node_exporter        pingcap  Exporter for machine metrics
package              pingcap  A toolbox to package tiup component
pd                   pingcap  PD is the abbreviation for Placement Driver. It is used to manage and schedule the TiKV cluster.
pd-recover           pingcap  PD Recover is a disaster recovery tool of PD, used to recover the PD cluster which cannot start or provide services normally.
playground           pingcap  Bootstrap a local TiDB cluster for fun
prometheus           pingcap  The Prometheus monitoring system and time series database
pump                 pingcap  The pump componet of TiDB binlog service
pushgateway          pingcap  Push acceptor for ephemeral and batch jobs
server               pingcap  TiUP publish/cache server
spark                pingcap  Spark is a fast and general cluster computing system for Big Data
sync-diff-inspector  pingcap  sync-diff-inspector is a tool used to verify the consistency across different MySQL-compatible data sources.
tidb                 pingcap  TiDB is an open source distributed HTAP database compatible with the MySQL protocol.
tidb-dashboard       pingcap  TiDB Dashboard is a Web UI for monitoring, diagnosing, and managing the TiDB cluster
tidb-lightning       pingcap  TiDB Lightning is a tool used for fast full import of large amounts of data into a TiDB cluster
tiflash              pingcap  The TiFlash Columnar Storage Engine
tikv                 pingcap  Distributed transactional key-value database, originally created to complement TiDB.
tikv-br              pingcap  TiKV cluster backup restore tool
tikv-cdc             pingcap  TiKV-CDC is a change data capture tool for TiKV
tikv-importer        pingcap
tiproxy              pingcap  TiProxy is a database proxy that is based on TiDB.
tispark              pingcap  tispark
tiup                 pingcap  TiUP is a command-line component management tool that can help to download and install TiDB platform components to the local system

检查当前镜像源:

[root@prod1 ~]# tiup mirror show
/root/tidb-community-server-v8.5.3-linux-amd64

已经切换为本地离线镜像源。

本文链接:https://www.orcy.net.cn/4282.html,转载请附上原文出处链接

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注