012、数据库管理之cluster部署

news2025/1/11 14:55:52

cluster部署

    • 硬件要求
    • 操作系统要求
    • 依赖包要求
    • 部署的组件
  • 部署集群
    • 前置检查
    • 安装TiUP组件
    • 初始化集群拓扑文件
    • 执行部署命令
    • 查看集群情况
    • 查看已部署的集群情况
    • 启动集群
    • 验证集群运行状态
  • 启动与停止
    • 启动
    • 停止
  • 案例讲解
  • 测试环境
    • 准备环境
    • 实施部署

硬件要求

组件CPU内存本地存储网络实例数量(最低要求)
TiDB8 核+16 GB+无特殊要求千兆网卡1(可与 PD 同机器)
PD4 核+8 GB+SAS, 200 GB+千兆网卡1(可与 TiDB 同机器)
TiKV8 核+32 GB+SSD, 200 GB+千兆网卡3
TiFlash32 核+64 GB+SSD, 200 GB+千兆网卡1
TiCDC8 核+16 GB+SAS, 200 GB+千兆网卡1

操作系统要求

操作系统支持的 CPU 架构
Red Hat Enterprise Linux 8.4 及以上的 8.x 版本x86_64
ARM 64
Red Hat Enterprise Linux 7.3 及以上的 7.x 版本
CentOS 7.3 及以上的 7.x 版本
x86_64
ARM 64

依赖包要求

  • 中控机软件配置
软件版本
sshpass1.06 及以上
TiUP1.5.0 及以上
  • 目标主机建议配置软件
软件版本
sshpass1.06 及以上
numa2.0.12 及以上
tar任意

部署的组件

在这里插入图片描述

部署集群

前置检查

  • 存储参数配置
  • 关闭SWAP
  • 关闭防火墙设置
  • 安装NTP服务
  • 操作系统优化参数
  • SSH互信与sudo免密码配置
  • numactl 工具安装

安装TiUP组件

  1. 下载并安装TiUP
curl --proto '=https' --tlsv1.2 -sSf https://tiupmirrors.pingcap.com/install.sh | sh
  1. 声明全局环境变量
source <profile 文件绝对路径>
  1. 安装TiUP cluster组件
tiup cluster
  1. 更新组件
tiup update --self && tiup update cluster

初始化集群拓扑文件

在这里插入图片描述

执行部署命令

  1. 检查集群存在的潜在风险
tiup cluster check ./topology.yaml --user root [-p] [-t /home/root/.ssh/gcp_rsa]
  1. 自动修复集群存在的潜在风险
tiup cluster check ./topology.yaml --apply --user root [-p] [-t /home/root/.ssh/gcp_rsa]
  1. 执行deploy 命令部署TiDB集群
tiup cluster deploy ${cluster-name} v5.0.0 ./topology.yaml --user root [-p] [-t /home/root/.ssh/gcp_rsa]

查看集群情况

查看TiUP管理的集群情况

tiup cluster list

查看已部署的集群情况

查看指定的集群状态

tiup cluster display ${cluster-name}

启动集群

启动集群
tiup cluster start ${cluster-name}

验证集群运行状态

  1. TiUP检查集群状态
    tiup cluster display ${cluster-name}

启动与停止

启动

  1. 启动顺序
pd->TiKV->TiDB ->TiFlash
  1. 启动命令
tiup cluster start ${cluster-name}

停止

  1. 停止顺序
TiFlash -> TiDB -> TiKV -> PD
  1. 集群关闭
tiup cluster stop ${cluster-name}

案例讲解

1、下载TiUP 工具:

curl --proto '=https' --tlsv1.2 -sSf https://tiupmirrors.pingcap.com/install.sh | sh

2、声明全局环境变量

source ~/.bash_profile

3、安装TiUP cluster组件

tiup cluster

4、更新组件

tiup update --self && tiup update cluster

5、 验证当前TiUP cluster 版本信息,查看TiUP cluster组件版本

tiup --binary cluster

6、生成临时配置文件

tiup cluster template > topology.yaml

7、编辑拓扑文件

# # Global variables are applied to all deployments and used as the default value of
# # the deployments if a specific deployment value is missing.
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"

pd_servers:
  - host: 10.0.1.4
  - host: 10.0.1.5
  - host: 10.0.1.6

tidb_servers:
  - host: 10.0.1.1
  - host: 10.0.1.2

tikv_servers:
  - host: 10.0.1.7
  - host: 10.0.1.8
  - host: 10.0.1.9

monitoring_servers:
  - host: 10.0.1.10

grafana_servers:
  - host: 10.0.1.10

alertmanager_servers:
  - host: 10.0.1.10

8、检查和自动修复集群存在的潜在风险

tiup cluster check ./topology.yaml --apply --user root -p

9、部署TiDB集群

tiup cluster deploy tidb-test v5.0.0 ./topology.yaml --user root -p

10、查看TiUP管理的集群情况

tiup cluster list
tiup cluster display tidb-test

11、启动集群

tiup cluster start tidb-test

12、连接集群

mysql -uroot -P4000 -h12.13.15.16 

测试环境

准备环境

TiDB 是⼀个分布式系统。最基础的 TiDB 测试集群通常由 2 个 TiDB 实例、3 个 TiKV实例、3 个 PD 实例和可选的 TiFlash 实例构成。通过 TiUP Playground,可以快速搭建出上述的⼀套基础测试集群。使⽤TiUP部署的测试集群,仅适⽤于快速上⼿体验,不适⽤于⽣产环境。
在这里插入图片描述

  • TiUP⼯具介绍
    TiUP是TiDB4.0版本引⼊的集群运维⼯具,通过TiUP可以进⾏TiDB的⽇常运维⼯作,包括部署、启动、关闭、销毁、弹性扩缩容和升级TiDB集群,以及管理TiDB集群参数。
  • playground组件
    TiUP的playground组件可以在本地环境中模拟出⼀个TiDB集群。也就是说,使⽤playground的命令可以⼀键搭建出⼀个TiDB集群,这个集群可供测试使⽤,但不适⽤于⽣产环境。
  • 适⽤场景
    利⽤本地 macOS 或者单机 Linux 环境快速部署 TiDB 测试集群,体验 TiDB 集群的基本架构,以及 TiDB、TiKV、PD、监控等基础组件的运⾏。教程中使⽤的是虚拟机

实施部署

  • 下载并安装TiUP
curl --proto '=https' --tlsv1.2 -sSf https://tiupmirrors.pingcap.com/install.sh | sh

安装完成后会提示如下信息:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 7322k  100 7322k    0     0  4813k      0  0:00:01  0:00:01 --:--:-- 4811k
Successfully set mirror to https://tiup-mirrors.pingcap.com
Detected shell: bash
Shell profile:  /root/.bash_profile
/root/.bash_profile has been modified to add tiup to PATH
open a new terminal or source /root/.bash_profile to use it
Installed path: /root/.tiup/bin/tiup
===============================================
Have a try:     tiup playground
===============================================

  • 声明全局环境变量
    TiUP 安装完成后会提示 Shell profile ⽂件的绝对路径。在执⾏以下 source 命令前,需要将 ${your_shell_profile} 修改为 Shell profile ⽂件的实际位置。
source ${your_shell_profile}
[root@tidb ~]#  source /root/.bash_profile
  • 启动集群:使⽤ tiup playground 启动集群,有两种⽅式。

    • 直接执⾏ tiup playground 命令会运⾏最新版本的 TiDB 集群,其中TiDB、TiKV、PD 和 TiFlash 实例各 1 个:
tiup playground
-	也可以指定 TiDB 版本以及各组件实例个数,命令类似于:
tiup playground v6.1.0 --db 2 --pd 3 --kv 3 --host 192.168.16.12

--host : 对外的IP,默认是127.0.0.1 ,这个IP肯定要改成公网IP

上述命令会在本地下载并启动某个版本的集群(例如 v6.1.0)。其中host是
虚拟机的IP,可以通过虚拟机IP来访问到TiDB的实例。最新版本可以通过执
⾏ tiup list tidb 来查看。运⾏结果将显示集群的访问⽅式:

🎉 TiDB Cluster is started, enjoy!
Connect TiDB:   mysql --host 192.168.16.12 --port 4000 -u root
Connect TiDB:   mysql --host 192.168.16.12 --port 4001 -u root
TiDB Dashboard: http://192.168.16.12:2379/dashboard
Grafana:        http://192.168.16.12:3000

初始的root是没有密码的

  • 注意事项
    • 如果提示找不到tiflash⽂件:
TiFlash 172.16.253.104:3930 failed to start: fork/exec
/root/.tiup/components/tiflash/v6.1.0/tiflash/tiflash: no
such file or directory

需要进⼊到 /root/.tiup/components/tiflash/v6.1.0/ 路径下解压
缩tiflash的压缩包即可:

tar -zxvf tiflash-v6.1.0-linux-amd64.tar.gz
  • 关闭集群

tiup playground启动的集群,在命令会话终端如果关闭会话,或者⽤ Control+C 键终⽌当前会话,tidb集群将被关闭

  • 清理集群
    测试完成之后,可以通过执⾏以下步骤来清理集群:
    按下 Control+C 键停掉上述启⽤的 TiDB 服务。
    等待服务退出操作完成后,执⾏以下命令:
tiup clean --all

这是关闭所有集群,当然也可以关闭指定集群
例如我在创建集群的时候,指定集群名

tiup playground v6.1.0 --tag batch-example --db 2 --pd 3 --kv 3 --host 192.168.16.12
tiup clean  batch-example

在这里插入图片描述

  • 管理界面
通过 http://192.168.16.12:9090 访问 TiDB 的 Prometheus 管理界⾯。
通过 http://192.168.16.12:2379/dashboard 访问TiDB Dashboard⻚⾯,
默认⽤户名为 root ,密码为空。

在这里插入图片描述

通过 http://192.168.16.12:3000 访问 TiDB 的 Grafana 界⾯,
默认⽤户名和密码都为 admin 。
  • 连接TiDB
    新开启⼀个 session 以访问 TiDB 数据库。
    使⽤ TiUP client 连接 TiDB:
tiup client

在这里插入图片描述

Starting component `client`: /root/.tiup/components/client/v1.12.1/tiup-client
Connected with driver mysql (5.7.25-TiDB-v6.1.0)
Type "help" for help.

my:root@192.168.16.12:4000=> show databases;
      Database      
--------------------
 INFORMATION_SCHEMA 
 METRICS_SCHEMA 
 PERFORMANCE_SCHEMA 
 mysql 
 test 
(5 rows)

也可使⽤ MySQL 客户端连接 TiDB:

mysql --host 192.168.16.12 --port 4000 -u root
[root@tidb ~]# mysql --host 192.168.16.12 --port 4000 -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 409
Server version: 5.7.25-TiDB-v6.1.0 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

也可以使用navicat 进行连接
在这里插入图片描述

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

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

相关文章

大学英语六级考试2022年6月真题|9:00

目录 第一套听力 第一套阅读 选词填空 长篇阅读 仔细阅读 错因 翻译 第一套听力 -7.1 * 1 14/15 -14.2 * 1 9/10 -21.3分 第一套阅读 选词填空 形容词前用副词修饰 remedy vt.修正&#xff1b;纠正 n.解决方法&#xff1b;改进措施 offspring …

TCP三次握手和TCP四次挥手

1. TCP三次握手 三次握手原理&#xff1a; 第1次握手&#xff1a;客户端发送一个带有SYN&#xff08;synchronize&#xff09;标志的数据包给服务端&#xff1b; 第2次握手&#xff1a;服务端接收成功后&#xff0c;回传一个带有SYN/ACK标志的数据包传递确认信息&#xff0c…

Linux 学习记录35(C高级篇)

Linux 学习记录35(C高级篇) 本文目录 Linux 学习记录35(C高级篇)一、linux操作系统1. 文件系统结构2. 常见的linux的发型版本>1. linux发行版和内核版的区别 二、网络配置1. 查看网络是否连接2. 网络配置>1. 保证虚拟机有桥接网络>2. 设置桥接网络>3. 重启网络服务…

MySQL数据库同步方案

一、概述&#xff1a; MYSQL主从同步架构是目前使用最多的数据库架构之一&#xff0c;主从同步使得数据可以从一个数据库服务器复制到其他服务器上&#xff0c;在复制数据时&#xff0c;一个服务器充当主服务器(master)&#xff0c;其余的服务器充当从服务器(slave)。 二、拓扑…

MySQL-SQL视图详细

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…

Vue实现表情包评论

1.效果图 2.Vue 2.1 下载emo表情 可以自己去gitee上找&#xff0c;或者直接通过百度云。 链接&#xff1a;https://pan.baidu.com/s/1lsUlLhoAsy_ehQyvdhlrpA 提取码&#xff1a;u9ol &#xff08;如果你不想存在本地&#xff0c;也可以把表情包放在云上&#xff09; 2.2 放…

Linux---查看系统资源占用(top)、磁盘信息监控(df、iostat)、网络状态监控(sar)

1. 查看资源占用&#xff08;top指令&#xff09; 可以通过top命令查看CPU、内存使用情况&#xff0c;类似Windows的任务管理器。 默认每5秒刷新一次&#xff0c;语法&#xff1a;直接输入top即可&#xff0c;按q或ctrl c退出。 第一行&#xff1a; top&#xff1a;命令名称…

Arthas实践使用

1.启动 curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar 按下前面对应的数字&#xff0c;即可成功启动 2.用途 实时监控&#xff1a;Arthas 可以实时监控 Java 应用程序的各种指标和状态&#xff0c;例如方法执行时间、线程情况、内存使用情况…

《三》TypeScript 中函数的类型定义

TypeScript 允许指定函数的参数和返回值的类型。 函数声明的类型定义&#xff1a;function 函数名(形参: 形参类型, 形参: 形参类型, ...): 返回值类型 {} function sum(x: number, y: number): number {return x y } sum(1, 2) // 正确 sum(1, 2, 3) // 错误。输入多余的或者…

Studio one6要钱吗?新增了哪些功能

Studio One是Pre sounds公司首次研究开发宿主软件的成果。Studio One在其研发环节就吸取了市面上其他宿主软件的优缺点并且做了专业的调研整改。将其他宿主软件的优点经过改良融合在一起&#xff0c;将不足之处进行舍弃或者优化。 Studio One 6是一款强大的音乐编曲软件,可以帮…

【雕爷学编程】Arduino动手做(113)---5110液晶屏模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

6.1面向对象的介绍和内存

学习面向对象内容的三条主线 • Java 类及类的成员&#xff1a;&#xff08;重点&#xff09;属性、方法、构造器&#xff1b;&#xff08;熟悉&#xff09;代码块、内部类 • 面向对象的特征&#xff1a;封装、继承、多态、&#xff08;抽象&#xff09; • 其他关键字的使用…

LC-1494. 并行课程 II(状压DP)

1494. 并行课程 II 难度困难116 给你一个整数 n 表示某所大学里课程的数目&#xff0c;编号为 1 到 n &#xff0c;数组 relations 中&#xff0c; relations[i] [xi, yi] 表示一个先修课的关系&#xff0c;也就是课程 xi 必须在课程 yi 之前上。同时你还有一个整数 k 。 在…

SSR渲染--01--初识Nuxt

SSR服务端渲染 SSR服务端渲染&#xff1a;在后端将html页面处理好&#xff0c;前端直接展示&#xff08;可以解决为后端给你传了一个html脚本&#xff0c;全段渲染&#xff09; 为什么要有SSR服务端渲染&#xff1f; 可以解决单页面首屏加载慢的问题&#xff0c;同时有利于用…

JUC之可见性和有序性

目录 java内存模型 可见性 现象出现 现象解释 解决方法 有序性 诡异的结果 解决方法 Happens-before规则 java内存模型 Java内存模型&#xff08;Java Memory Model&#xff0c;简称JMM&#xff09;定义了Java程序中各种变量、对象的访问方式和内存关系。JMM规定了线…

小程序-uniapp:uni-app-base 项目基础配置及使用,开箱可用

目前&#xff08;20230605&#xff09;uni-app最新版本&#xff08;3.8.4.20230531&#xff09; 一、官网文档 uni-app官网 二、创建项目 项目目标&#xff1a;vue3tsvitevscode 创建以 typescript 开发的工程&#xff08;如命令行创建失败&#xff0c;请直接访问 gitee 下…

consul入门案例及配置热更新的实现及Feign的使用

Consul的简单入门 当Producer启动时,会向Consul发送一个post请求,告诉Consul自己的ip和Port;Consul接收到producer的注册后,每个10S(默认),会向producer发送一个健康检查的请求,检验Producer是否健康当Consumer发送GET方式请求/api/address到Producer时,会先从Consul中拿到一个…

Linux常用命令——gdb命令

在线Linux命令查询工具 gdb 功能强大的程序调试器 补充说明 gdb命令包含在GNU的gcc开发套件中&#xff0c;是功能强大的程序调试器。GDB中的命令固然很多&#xff0c;但我们只需掌握其中十个左右的命令&#xff0c;就大致可以完成日常的基本的程序调试工作。 语法 gdb(选…

DeepFace:人脸识别库 DeepFace 简单认知

写在前面 工作中遇到&#xff0c;简单整理博文内容为 deepface 的简单介绍理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是…

HarmonyOS学习路之开发篇—Java UI框架(使用工具自动生成JS FA调用PA代码)

JS FA&#xff08;Feature Ability&#xff09;调用PA &#xff08;Particle Ability&#xff09;是使用基于JS扩展的类Web开发范式的方舟开发框架所提供的一种跨语言能力调用的机制&#xff0c;用于建立JS能力与Java能力之间传递方法调用、处理数据返回以及订阅事件上报的通道…