【TiDB】TiDB离线方式部署

news2024/12/22 19:59:44

目录

1 下载TiDB离线组件包

2 安装TiUP

3 合并离线包

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

5 TiDB环境与系统配置检查

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

7 执行部署命令

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

2 手动修复风险

3 部署 TiDB 集群

8 查看TIUP管理的集群情况

9 检查部署的 TiDB 集群情况

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 组件:

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

$ 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 目录下。

# 解压组件包 
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
$ 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 生成集群初始化配置文件模板 

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

# 生成在执行命令的目录下 

 tiup cluster template > topology.yaml

7 执行部署命令

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

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

解决

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 集群

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 管理的所有集群信息,包括集群名称、部署用户、版本、密钥信息等。

$ 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)、目录信息。

$ 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

$ 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 文档中心 (包含离线安装方式)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1263610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[⑥ADRV902x]: 软件系统初始化流程学习

前言 本篇博客主要记录ADRV902x参考软件中对ADRV902x系统的初始化流程&#xff0c;使用API函数来实现transceiver的配置&#xff0c;校准和控制等。官方将整个系统初始化称之为multichip synchronization initialization (MCS) sequence&#xff0c;主要分成PreMcsInit&#x…

数字电源为什么一般用DSP控制,而不能用普通的单片机?

数字电源为什么一般用DSP控制&#xff0c;而不能用普通的单片机&#xff1f; 首先你要清楚&#xff0c;数字电源需要一个芯片具备什么功能&#xff1f; 1 能发PWM波 &#xff0c;并且具备保护关断功能&#xff1b; 电源对PWM发波 要求很高&#xff0c;精度要ns级甚至ps级的&…

易宝OA系统ExecuteSqlForSingle接口SQL注入漏洞复现 [附POC]

文章目录 易宝OA系统ExecuteSqlForSingle接口SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 易宝OA系统ExecuteSqlForSingle接口SQL注入漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a;请勿利用文章…

2023极客大挑战-AGRT战队wp

目录 RE Shiftjmp 点击就送的逆向题 幸运数字 ​编辑 砍树 小黄鸭 flower-or-tea mySelf 是男人就来扎针 听说cpp很难&#xff1f; Easymath 寻找初音未来 Rainbow 浪漫至死不渝 ezandroid Pwn nc_pwntools password ret2text write1 ret2libc ezpwn wr…

MicroPython STM32F4 RTC功能使用介绍

MicroPython STM32F4 RTC功能使用介绍 &#x1f516;STM32和ESP32 RTC功能差不多&#xff0c;相关篇《MicroPython ESP32 RTC功能使用介绍》&#x1f4cc;固件刷可参考前面一篇《STM32刷Micropython固件参考指南》&#x1f33f; 相关篇《Micropython STM32F4入门点灯》&#x1…

v-model(双向数据绑定)自动收集数据

v-model 是 Vue 中一个常用的指令&#xff0c;用于实现表单元素与数据的双向绑定。 它的实现原理主要基于以下两个方面&#xff1a; 语法实现&#xff1a; v-model 实际上是 Vue 对 :value 和 input 两个属性的语法糖。当我们在组件中使用 v-model 指令时&#xff0c;Vue 会根…

只需十分钟快速入门Python,快速了解基础内容学习。零基础小白入门适用。

文章目录 简介特点搭建开发环境版本hello world注释文件类型变量常量数据类型运算符和表达式控制语句数组相关函数相关字符串相关文件处理对象和类连接mysql关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源…

数据在内存中的存储练习题

数据在内存中的存储练习题 文章目录 数据在内存中的存储练习题1. 练习一2.练习二3. 练习三4. 练习四5. 练习五6. 练习六7. 总结 1. 练习一 #include <stdio.h>int main() {char a -1;signed b -1;unsigned char c -1;printf("a %d b %d c %d", a, b, c)…

WebSocket快速入门

WebSocket 借鉴&#xff1a; https://blog.csdn.net/weixin_45747080/article/details/117477006 https://cloud.tencent.com/developer/article/1887095 简介 WebSocket 是一种网络传输协议&#xff0c;可在单个 TCP 连接上进行全双工通信&#xff0c;位于 OSI 模型的应用…

第七节HarmonyOS UIAbility生命周期以及启动模式

一、UIAbility生命周期 为了实现多设备形态上的裁剪和多窗口的可扩展性&#xff0c;系统对组件管理和窗口管理进行了解耦。UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态&#xff0c;WindowStageCreate和WindowStageDestroy为窗口管理器&#xff08…

27.0/多态/对象向上转型/向下转型/抽象类/抽象方法。

目录 27.1为什么使用多态? 27.1.2什么是多态 27.1.3对象多态 27.1.4多态的使用前提 27.2 向上转型 27.3向下转型 (面试题) 27.4抽象类和抽象方法 特点(面试题): 27.1为什么使用多态? 需求1&#xff1a;动物园让我们实现一个功能&#xff1a; 创建一个狗类 &#xff0c;狗…

【AICFD案例教程】PCB多变量AI预测分析

AICFD是由天洑软件自主研发的通用智能热流体仿真软件&#xff0c;用于高效解决能源动力、船舶海洋、电子设备和车辆运载等领域复杂的流动和传热问题。软件涵盖了从建模、仿真到结果处理完整仿真分析流程&#xff0c;帮助工业企业建立设计、仿真和优化相结合的一体化流程&#x…

qt实现一个安卓测试小工具

qt实现一个安卓测试小工具 最终效果&#xff1a;目录结构源码gui.py 主要是按钮&#xff0c;文本控制代码main.py 主要是逻辑代码gui.spec 是打包使用的adb.ui 最终效果&#xff1a; 目录结构 上面2个是打包的生成的不用管 源码 gui.py 主要是按钮&#xff0c;文本控制代码…

微信小程序开发——开发账号注册与配置

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 概述 本文的重点在于介绍注册微信小程序开发账号的步骤及其流程。 账号注册 请点击官方网站右上角的 https://mp.weixin.qq.com/ 立即注册&#xff0c;图示如下&#xf…

Python 和 Node.js 之间通信 JSON 数据

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在实际应用中&#xff0c;不同编程语言之间的通信是常见的需求。Python和Node.js是两个流行且功能强大的编程语言&#xff0c;它们之间使用JSON格式进行数据交换是一种高效和灵活的方式。本文将详细介绍如何在Py…

unity3d NPC自动寻路不移动

烘焙的路面不能有间隔&#xff0c;调整地面重新烘焙

基于mvc电影院售票预订选座系统php+vue+elementui

本影院售票系统主要包括二大功能模块&#xff0c;管理员功能模块和用户功能模块。 &#xff08;1&#xff09;管理员模块&#xff1a;系统中的核心用户管理员登录后&#xff0c;通过管理员功能来管理后台系统。主要功能有&#xff1a;首页、个人中心、电影类型管理、场次时间管…

还在担心发抖音没素材跟文案?[腾讯云HAI] AIGC带你蹭热度“今年你失去了什么?”

目录 &#x1f433;前言&#xff1a; &#x1f680;了解高性能应用服务 HAI &#x1f47b;即插即用 轻松上手 &#x1f47b;横向对比 青出于蓝 &#x1f424;应用场景-AI作画 &#x1f424;应用场景-AI对话 &#x1f424;应用场景-算法研发 &#x1f680;使用HAI进行…

人工智能技术发展漫谈

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 人工智能发展历程 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;的发展历史可以追溯到20世纪中叶。以下是一些关键时刻和阶段&#xff1a; 起…

基于Spring原生框架构建原生Spring的第一个程序!

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…