【TiDB】TiDB离线方式部署

目录

[1 下载TiDB离线组件包](#1 下载TiDB离线组件包)

[2 安装TiUP](#2 安装TiUP)

[3 合并离线包](#3 合并离线包)

[4 TIDB 软件和硬件环境建议配置](#4 TIDB 软件和硬件环境建议配置)

[5 TiDB环境与系统配置检查](#5 TiDB环境与系统配置检查)

[6 生成集群初始化配置文件模板](#6 生成集群初始化配置文件模板)

[7 执行部署命令](#7 执行部署命令)

[1 检查就能存在的潜在风险](#1 检查就能存在的潜在风险)

[2 手动修复风险](#2 手动修复风险)

[3 部署 TiDB 集群](#3 部署 TiDB 集群)

[8 查看TIUP管理的集群情况](#8 查看TIUP管理的集群情况)

[9 检查部署的 TiDB 集群情况](#9 检查部署的 TiDB 集群情况)

[10 启动集群](#10 启动集群)

[参考 :](#参考 :)


生产环境一般无法连接到外网环境 ,所以直接使用TiUP在线安装TiDB 的方式不太可取 。本篇博客介绍如何使用TiUP离线安装TiDB

下载地址

分布式数据库 TiDB 社区版 | PingCAP

1 下载TiDB离线组件包

wget https://download.pingcap.org/tidb-community-server-v6.5.5-linux-amd64.tar.gz

wget https://download.pingcap.org/tidb-community-toolkit-v6.5.5-linux-amd64.tar.gz

2 安装TiUP

将离线包发送到目标集群的中控机后,执行以下命令安装 TiUP 组件:

bash 复制代码
tar -zxvf tidb-community-server-v6.5.5-linux-amd64.tar.gz
cd tidb-community-server-v6.5.5-linux-amd64
sh local_install.sh # 脚本的内容大致为 :检查系统 ,架构 ,tar 命令是否存在 ,设置TiUP的环境变量 设置离线镜像等 

执行成功之后输出以下内容:

设置离线镜像为 /home/software/tidb-community-server-v6.5.5-linux-amd64

生效环境变量 source /root/.bash_profile 或者 从新开一个终端

TiUP的可执行命令在目录下 /root/.tiup/bin/tiup

bash 复制代码
$ sh local_install.sh
Disable telemetry success
Successfully set mirror to /home/software/tidb-community-server-v6.5.5-linux-amd64
Detected shell: bash
Shell profile:  /root/.bash_profile
/root/.bash_profile has been modified to to add tiup to PATH
open a new terminal or source /root/.bash_profile to use it
Installed path: /root/.tiup/bin/tiup
===============================================
1. source /root/.bash_profile
2. Have a try:   tiup playground
===============================================

local_install.sh 脚本会自动执行 tiup mirror set tidb-community-server-${version}-linux-amd64 命令将当前镜像地址设置为 tidb-community-server-${version}-linux-amd64

若需将镜像切换到其他目录,可以通过手动执行 tiup mirror set <mirror-dir> 进行切换。如果需要切换到在线环境,可执行 tiup mirror set https://tiup-mirrors.pingcap.com

3 合并离线包

如果是通过官方下载页面下载的离线软件包,需要将 TiDB-community-server 软件包和 TiDB-community-toolkit 软件包合并到离线镜像中。执行以下命令合并离线组件到 server 目录下。

bash 复制代码
# 解压组件包 
tar -xf tidb-community-toolkit-v6.5.5-linux-amd64.tar.gz

# 查看目录
ls -ld tidb-community-server-v6.5.5-linux-amd64 tidb-community-toolkit-v6.5.5-linux-amd64

cp -rp keys ~/.tiup/
# 合并镜像包
tiup mirror merge ../tidb-community-toolkit-v6.5.5-linux-amd64
bash 复制代码
$ tiup mirror show
/home/software/tidb-community-server-v6.5.5-linux-amd64

$ which tiup
/root/.tiup/bin/tiup

4 TIDB 软件和硬件环境建议配置

TiDB 软件和硬件环境建议配置 | PingCAP 文档中心

5 TiDB环境与系统配置检查

TiDB 环境与系统配置检查 | PingCAP 文档中心

6 生成集群初始化配置文件模板

执行如下命令,生成集群初始化配置文件:

bash 复制代码
# 生成在执行命令的目录下 

 tiup cluster template > topology.yaml

7 执行部署命令

1 检查就能存在的潜在风险

bash 复制代码
tiup cluster check tidb.yaml

2 手动修复风险

检测出来的风险都可以通过官方文档找到解决方案

例如 报错

10.79.23.47 limits Fail soft limit of 'nofile' for user 'tidb' is not set or too low

10.79.23.47 limits Fail hard limit of 'nofile' for user 'tidb' is not set or too low

10.79.23.47 limits Fail soft limit of 'stack' for user 'tidb' is not set or too low

解决

bash 复制代码
cat << EOF >>/etc/security/limits.conf
tidb           soft    nofile          1000000
tidb           hard    nofile          1000000
tidb           soft    stack          32768
tidb           hard    stack          32768
EOF

当检查没有fail时,

3 部署 TiDB 集群

bash 复制代码
tiup cluster deploy tidb-test v6.5.5  tidb.yaml

以上部署示例中:

  • tidb-test 为部署的集群名称。
  • v6.5.5 为部署的集群版本,可以通过执行 tiup list tidb 来查看 TiUP 支持的最新可用版本。
  • 初始化配置文件为tidb.yaml
  • --user root 表示通过 root 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。
  • [-i] 及 [-p] 为可选项,如果已经配置免密登录目标机,则不需填写。否则选择其一即可,[-i] 为可登录到目标机的 root 用户(或 --user 指定的其他用户)的私钥,也可使用 [-p] 交互式输入该用户的密码。

预期日志结尾输出 Deployed cluster `tidb-test` successfully 关键词,表示部署成功。

8 查看TIUP管理的集群情况

TiUP 支持管理多个 TiDB 集群,该命令会输出当前通过 TiUP cluster 管理的所有集群信息,包括集群名称、部署用户、版本、密钥信息等。

bash 复制代码
$ tiup cluster list
tiup is checking updates for component cluster ...
Starting component `cluster`: /root/.tiup/components/cluster/v1.13.0/tiup-cluster list
Name       User  Version  Path                                            PrivateKey
----       ----  -------  ----                                            ----------
tidb-test  tidb  v6.5.5   /root/.tiup/storage/cluster/clusters/tidb-test  /root/.tiup/storage/cluster/clusters/tidb-test/ssh/id_rsa

9 检查部署的 TiDB 集群情况

预期输出包括 tidb-test 集群中实例 ID、角色、主机、监听端口和状态(由于还未启动,所以状态为 Down/inactive)、目录信息。

bash 复制代码
$ tiup cluster display tidb-test
tiup is checking updates for component cluster ...
Starting component `cluster`: /root/.tiup/components/cluster/v1.13.0/tiup-cluster display tidb-test
Cluster type:       tidb
Cluster name:       tidb-test
Cluster version:    v6.5.5
Deploy user:        tidb
SSH type:           builtin
Grafana URL:        http://10.79.23.47:3001
ID                 Role          Host         Ports        OS/Arch       Status  Data Dir                                   Deploy Dir
--                 ----          ----         -----        -------       ------  --------                                   ----------
10.79.23.47:9093   alertmanager  10.79.23.47  9093/9094    linux/x86_64  Down    /home/storage/tidb_data/alertmanager-9093  /home/storage/tidb_deploy/alertmanager-9093
10.79.23.47:3001   grafana       10.79.23.47  3001         linux/x86_64  Down    -                                          /home/storage/tidb_deploy/grafana-3001
10.79.23.45:2379   pd            10.79.23.45  2379/2380    linux/x86_64  Down    /home/storage/tidb_data/pd-2379            /home/storage/tidb_deploy/pd-2379
10.79.23.46:2379   pd            10.79.23.46  2379/2380    linux/x86_64  Down    /home/storage/tidb_data/pd-2379            /home/storage/tidb_deploy/pd-2379
10.79.23.47:2379   pd            10.79.23.47  2379/2380    linux/x86_64  Down    /home/storage/tidb_data/pd-2379            /home/storage/tidb_deploy/pd-2379
10.79.23.47:9090   prometheus    10.79.23.47  9090/12020   linux/x86_64  Down    /home/storage/tidb_data/prometheus-9090    /home/storage/tidb_deploy/prometheus-9090
10.79.23.45:4000   tidb          10.79.23.45  4000/10080   linux/x86_64  Down    -                                          /home/storage/tidb_deploy/tidb-4000
10.79.23.46:4000   tidb          10.79.23.46  4000/10080   linux/x86_64  Down    -                                          /home/storage/tidb_deploy/tidb-4000
10.79.23.45:20160  tikv          10.79.23.45  20160/20180  linux/x86_64  N/A     /home/storage/tidb_data/tikv-20160         /home/storage/tidb_deploy/tikv-20160
10.79.23.46:20160  tikv          10.79.23.46  20160/20180  linux/x86_64  N/A     /home/storage/tidb_data/tikv-20160         /home/storage/tidb_deploy/tikv-20160
10.79.23.47:20160  tikv          10.79.23.47  20160/20180  linux/x86_64  N/A     /home/storage/tidb_data/tikv-20160         /home/storage/tidb_deploy/tikv-20160
Total nodes: 11

10 启动集群

启动 tiup cluster start tidb-test

bash 复制代码
$ tiup cluster start tidb-test
tiup is checking updates for component cluster ...
Starting component `cluster`: /root/.tiup/components/cluster/v1.13.0/tiup-cluster start tidb-test
Starting cluster tidb-test...
+ [ Serial ] - SSHKeySet: privateKey=/root/.tiup/storage/cluster/clusters/tidb-test/ssh/id_rsa, publicKey=/root/.tiup/storage/cluster/clusters/tidb-test/ssh/id_rsa.pub
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.46
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.46
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.45
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.47
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.47
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.46
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.47
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.47
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.47
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.45
+ [Parallel] - UserSSH: user=tidb, host=10.79.23.45
+ [ Serial ] - StartCluster
Starting component pd
	Starting instance 10.79.23.47:2379
	Starting instance 10.79.23.46:2379
	Starting instance 10.79.23.45:2379
	Start instance 10.79.23.45:2379 success
	Start instance 10.79.23.47:2379 success
	Start instance 10.79.23.46:2379 success
Starting component tikv
	Starting instance 10.79.23.47:20160
	Starting instance 10.79.23.46:20160
	Starting instance 10.79.23.45:20160
	Start instance 10.79.23.47:20160 success
	Start instance 10.79.23.46:20160 success
	Start instance 10.79.23.45:20160 success
Starting component tidb
	Starting instance 10.79.23.46:4000
	Starting instance 10.79.23.45:4000
	Start instance 10.79.23.45:4000 success
	Start instance 10.79.23.46:4000 success
Starting component prometheus
	Starting instance 10.79.23.47:9090
	Start instance 10.79.23.47:9090 success
Starting component grafana
	Starting instance 10.79.23.47:3001
	Start instance 10.79.23.47:3001 success
Starting component alertmanager
	Starting instance 10.79.23.47:9093
	Start instance 10.79.23.47:9093 success
Starting component node_exporter
	Starting instance 10.79.23.45
	Starting instance 10.79.23.47
	Starting instance 10.79.23.46
	Start 10.79.23.45 success
	Start 10.79.23.47 success
	Start 10.79.23.46 success
Starting component blackbox_exporter
	Starting instance 10.79.23.47
	Starting instance 10.79.23.45
	Starting instance 10.79.23.46
	Start 10.79.23.45 success
	Start 10.79.23.47 success
	Start 10.79.23.46 success
+ [ Serial ] - UpdateTopology: cluster=tidb-test
Started cluster `tidb-test` successfully

停止

tiup cluster stop tidb-test

参考 :

使用 TiUP 离线部署 TiDB 集群 | PingCAP 文档中心

使用 TiUP 部署 TiDB 集群 | PingCAP 文档中心 (包含离线安装方式)

相关推荐
TiDB 社区干货传送门2 天前
关于新版本 tidb dashboard API 调用说明
tidb
TiDB_PingCAP2 天前
TiDB 扩容过程中 PD 生成调度的原理及常见问题丨TiDB 扩缩容指南(一)
数据库·tidb
TiDB 社区干货传送门3 天前
TiDB 数据库核心原理与架构_Lesson 01 TiDB 数据库架构概述课程整理
数据库·架构·tidb·数据库架构
TiDB 社区干货传送门14 天前
从 Oracle 到 TiDB 丨数据库资源评估指南
数据库·oracle·tidb
hh真是个慢性子14 天前
【TiDB原理与实战详解】3、 集群升级和逻辑备份恢复~学不会? 不存在的!
大数据·运维·数据库·tidb·集群升级·逻辑备份
hh真是个慢性子14 天前
【TiDB原理与实战详解】5、BR 物理备份恢复与Binlog 数据同步~学不会? 不存在的!
数据库·tidb·br·高可用·tidbbinlog
TiDB 社区干货传送门1 个月前
亿玛科技:TiDB 6.1.5 升级到 7.5.1 经验分享
科技·tidb
NineData1 个月前
如何将MySQL迁移到TiDB,完成无缝业务切换?
数据库·mysql·tidb·数据备份·数据迁移·异地多活·迁移同步
FeelTouch Labs1 个月前
java.sql.SQLException: txn too large, size: 104857606.
java·开发语言·tidb
xcg3401231 个月前
【TiDB】10-对 TiDB 进行 TPC-C 测试
tidb·tpc-c测试