【TiDB】TiDB离线方式部署
目录
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-amd64cp -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 pdStarting instance 10.79.23.47:2379Starting instance 10.79.23.46:2379Starting instance 10.79.23.45:2379Start instance 10.79.23.45:2379 successStart instance 10.79.23.47:2379 successStart instance 10.79.23.46:2379 success
Starting component tikvStarting instance 10.79.23.47:20160Starting instance 10.79.23.46:20160Starting instance 10.79.23.45:20160Start instance 10.79.23.47:20160 successStart instance 10.79.23.46:20160 successStart instance 10.79.23.45:20160 success
Starting component tidbStarting instance 10.79.23.46:4000Starting instance 10.79.23.45:4000Start instance 10.79.23.45:4000 successStart instance 10.79.23.46:4000 success
Starting component prometheusStarting instance 10.79.23.47:9090Start instance 10.79.23.47:9090 success
Starting component grafanaStarting instance 10.79.23.47:3001Start instance 10.79.23.47:3001 success
Starting component alertmanagerStarting instance 10.79.23.47:9093Start instance 10.79.23.47:9093 success
Starting component node_exporterStarting instance 10.79.23.45Starting instance 10.79.23.47Starting instance 10.79.23.46Start 10.79.23.45 successStart 10.79.23.47 successStart 10.79.23.46 success
Starting component blackbox_exporterStarting instance 10.79.23.47Starting instance 10.79.23.45Starting instance 10.79.23.46Start 10.79.23.45 successStart 10.79.23.47 successStart 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】TiDB离线方式部署
目录 1 下载TiDB离线组件包 2 安装TiUP 3 合并离线包 4 TIDB 软件和硬件环境建议配置 5 TiDB环境与系统配置检查 6 生成集群初始化配置文件模板 7 执行部署命令 1 检查就能存在的潜在风险 2 手动修复风险 3 部署 TiDB 集群 8 查看TIUP管理的集群情况 9 检查部署的…...
android shape绘制半圆
<?xml version"1.0" encoding"utf-8"?><shape xmlns:android"http://schemas.android.com/apk/res/android"android:shape"rectangle"><sizeandroid:width"20dp"android:height"10dp" /><…...
【开源】基于Vue和SpringBoot的个人健康管理系统
项目编号: S 040 ,文末获取源码。 \color{red}{项目编号:S040,文末获取源码。} 项目编号:S040,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健…...
qt QString字符串常用转换
QString字符串转换类型,常见的有: 1. const char*初始化QString.即const char*类型转QString字符串类型. QString str("肖战");qDebug() <<str; 2. QChar数组初始化QString.即QChar字符数组转QString字符串. QChar cHello[5] {H,e,l,l,o};QString strHell…...
JAVA sql 查询3
-- 1. 求各个月入职的的员工个数 select date_format(hiredate,%m),count(date_format(hiredate,%m)) from employees group by date_format(hiredate,%m) -- 2. 查询 50 号部门,60 号部门,70 号部门的各个部门的平均工资 SELECT department_id,avg(salary) FROM employees WH…...
PHP while 和 do-while 循环 学习资料
PHP while 和 do-while 循环 在 PHP 中,while 和 do-while 是两种常用的循环结构,用于重复执行一段代码,直到满足指定条件为止。以下是对这两种循环的介绍和示例: while 循环 while 循环用于在指定条件为真时重复执行代码块。循…...
OpenJudge NOI 1.8 16:矩阵剪刀石头布 c语言
描述 Bart的妹妹Lisa在一个二维矩阵上创造了新的文明。矩阵上每个位置被三种生命形式之一占据:石头,剪刀,布。每天,上下左右相邻的不同生命形式将会发生战斗。在战斗中,石头永远胜剪刀,剪刀永远胜布&#…...
mysql 性能参数调优详解
1 优化连接池 连接池运行机制 MySQL连接器中的连接池,用以提高数据库密集型应用程序的性能和可扩展性,默认启用。MySQL连接器负责管理连接池中的多个连接,自动创建、打开、关闭和破坏连接,多个连接的创建,可满足多客户…...
基于.net framework4.0框架下winform项目实现寄宿式web api
首先Nuget中下载包:Microsoft.AspNet.WebApi.SelfHost,如下: 注意版本哦,最高版本只能4.0.30506能用。 1.配置路由 public static class WebApiConfig{public static void Register(this HttpSelfHostConfiguration config){// …...
Vue中项目进行文件压缩与解压缩 (接口返回文件的url压缩包前端解析并展示出来,保存的时候在压缩后放到接口入参进行保存)
安装 npm install pako在Vue组件中引入pako: import pako from pako;接口返回的url是这个字段 tableSsjsonUrl 其实打开就是压缩包const source await tableFileUrl ({ id: this.$route.query.id}); if(source.code 0) {this.titleName source.data.tableNam…...
Linux shell编程学习笔记31:alias 和 unalias 操作 命令别名
目录 0 前言1 定义别名2 查看别名 2.1 查看所有别名2.2 查看某个别名 2.2.1 alias 别名2.2.2 alias | grep 别名字符串2.2.3 使用 CtrlAltE 组合键3 unalias:删除别名4 如何执行命令本身而非别名 4.1 方法1:使用 CtrlAltE 组合键 && unalias4…...
Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)
漏洞描述 Django 于2019年8月1日 日发布了安全更新,修复了 JSONField 和 HStoreField 两个模型字段的 SQL 注入漏洞。 参考链接: Django security releases issued: 2.2.4, 2.1.11 and 1.11.23 | Weblog | DjangoDjango JSONField SQL注入漏洞&#x…...
Unity中Shader的Standard材质解析(一)
文章目录 前言一、在Unity中,按一下步骤准备1、在资源管理面板创建一个 Standard Surface Shader2、因为Standard Surface Shader有很多缺点,所以我们把他转化为顶点片元着色器3、整理只保留主平行光的Shader效果4、精简后的最终代码 前言 在Unity中&am…...
5.1 Windows驱动开发:判断驱动加载状态
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息。 该功能实现的核心函数是NtQuerySys…...
Linux之高级IO
目录 IO基本概念五种IO模型钓鱼人例子五种IO模型高级IO重要概念同步通信 VS 异步通信阻塞 VS 非阻塞其他高级IO阻塞IO非阻塞IO IO基本概念 I/O(input/output)也就是输入和输出,在著名的冯诺依曼体系结构当中,将数据从输入设备拷贝…...
进程和线程的关系
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 进程&线程 1. 什么是进程PCB 2. 什么是…...
YOLOv5全网独家改进:NanoDet算法动态标签分配策略(附原创改进代码),公开数据集mAP有效涨点,来打造新颖YOLOv5检测器
💡本篇内容:YOLOv5全网独家改进:NanoDet算法动态标签分配策略(附原创改进代码),公开数据集mAP有效涨点,来打造新颖YOLOv5检测器 💡🚀🚀🚀本博客 YOLOv5+ 改进NanoDet模型的动态标签分配策略源代码改进 💡一篇博客集成多种创新点改进:NanoDet 💡:重点:更…...
原生DOM事件、react16、17和Vue合成事件
目录 原生DOM事件 注册/绑定事件 DOM事件级别 DOM0:onclick传统注册: 唯一(同元素的(不)同事件会覆盖) 没有捕获和冒泡的,只有简单的事件绑定 DOM2:addEventListener监听注册:可添加多个…...
基于HTML+CSS+JavaScript的登录注册界面设计
一、界面效果: 二、HTML代码: 登录注册html: 登录成功html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>登录成功!</h1> </body> <…...
BUUCTF [MRCTF2020]Ez_bypass 1
题目环境:F12查看源代码 I put something in F12 for you include flag.php; $flagMRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}; if(isset($_GET[gg])&&isset($_GET[id])) { $id$_GET[id]; $gg$_GET[gg]; if (md5($id) md5($gg) && $id ! $gg) { …...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
