【TiDB】07-tiup工具安装及使用

news2024/11/13 15:17:40

目录

1、在线安装

1.2、脚本代码如下 

2、离线安装

2.1、下载安装包

2.2、安装脚本

3、卸载

4、常用命令


TiDB 提供了丰富的工具,可以帮助你进行部署运维、数据管理(例如,数据迁移、备份恢复、数据校验)、在 TiKV 上运行 Spark SQL。请根据需要选择适用的工具。

TiUP 是在物理机或虚拟机上的 TiDB 包管理器,管理着 TiDB 的众多的组件,如 TiDB、PD、TiKV 等。当你想要运行 TiDB 生态中任何组件时,只需要执行一行 TiUP 命令即可。

TiUP cluster 是 TiUP 提供的使用 Golang 编写的集群管理组件,通过 TiUP cluster 组件就可以进行日常的运维工作,包括部署、启动、关闭、销毁、弹性扩缩容、升级 TiDB 集群,以及管理 TiDB 集群参数。

基本信息:

  • 术语及核心概念
  • 使用 TiUP 部署 TiDB 集群
  • TiUP 组件管理
  • 适用 TiDB 版本:v4.0 及以上

1、在线安装

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

默认安装路径 /root/.tiup

命令执行成功后,需要手动让环境变量生效

source /root/.bashrc

1.2、脚本代码如下 

#!/bin/sh

repo='https://tiup-mirrors.pingcap.com'
if [ -n "$TIUP_MIRRORS" ]; then
    repo=$TIUP_MIRRORS
fi

case $(uname -s) in
    Linux|linux) os=linux ;;
    Darwin|darwin) os=darwin ;;
    *) os= ;;
esac

if [ -z "$os" ]; then
    echo "OS $(uname -s) not supported." >&2
    exit 1
fi

case $(uname -m) in
    amd64|x86_64) arch=amd64 ;;
    arm64|aarch64) arch=arm64 ;;
    *) arch= ;;
esac

if [ -z "$arch" ]; then
    echo "Architecture  $(uname -m) not supported." >&2
    exit 1
fi

if [ -z "$TIUP_HOME" ]; then
    TIUP_HOME=$HOME/.tiup
fi
bin_dir=$TIUP_HOME/bin
mkdir -p "$bin_dir"

# https://tiup-mirrors.pingcap.com/tiup-linux-amd64.tar.gz?20240812112625
install_binary() {
    curl "$repo/tiup-$os-$arch.tar.gz?$(date "+%Y%m%d%H%M%S")" -o "/tmp/tiup-$os-$arch.tar.gz" || return 1
    tar -zxf "/tmp/tiup-$os-$arch.tar.gz" -C "$bin_dir" || return 1
    rm "/tmp/tiup-$os-$arch.tar.gz"
    return 0
}

if ! install_binary; then
    echo "Failed to download and/or extract tiup archive."
    exit 1
fi

chmod 755 "$bin_dir/tiup"

"$bin_dir/tiup" mirror set $repo

bold=$(tput bold 2>/dev/null)
sgr0=$(tput sgr0 2>/dev/null)

# Refrence: https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix
shell=$(echo $SHELL | awk 'BEGIN {FS="/";} { print $NF }')
echo "Detected shell: ${bold}$shell${sgr0}"
if [ -f "${HOME}/.${shell}_profile" ]; then
    PROFILE=${HOME}/.${shell}_profile
elif [ -f "${HOME}/.${shell}_login" ]; then
    PROFILE=${HOME}/.${shell}_login
elif [ -f "${HOME}/.${shell}rc" ]; then
    PROFILE=${HOME}/.${shell}rc
else
    PROFILE=${HOME}/.profile
fi
echo "Shell profile:  ${bold}$PROFILE${sgr0}"

case :$PATH: in
    *:$bin_dir:*) : "PATH already contains $bin_dir" ;;
    *) printf '\nexport PATH=%s:$PATH\n' "$bin_dir" >> "$PROFILE"
        echo "$PROFILE has been modified to add tiup to PATH"
        echo "open a new terminal or ${bold}source ${PROFILE}${sgr0} to use it"
        ;;
esac

echo "Installed path: ${bold}$bin_dir/tiup${sgr0}"
echo "==============================================="
echo "Have a try:     ${bold}tiup playground${sgr0}"
echo "==============================================="

2、离线安装

借由1.2中的代码整理

2.1、下载安装包

根据实际服务器的操作系统与内核,兼容amd、arm

https://tiup-mirrors.pingcap.com/tiup-linux-amd64.tar.gz?20240812112625

2.2、安装脚本

安装位置只能是 /root/.tiup

将2.1的安装包与执行脚本放在同一目录下

然后执行

sh install.sh
#!/bin/sh

repo='https://tiup-mirrors.pingcap.com'
if [ -n "$TIUP_MIRRORS" ]; then
    repo=$TIUP_MIRRORS
fi

case $(uname -s) in
    Linux|linux) os=linux ;;
    Darwin|darwin) os=darwin ;;
    *) os= ;;
esac

if [ -z "$os" ]; then
    echo "OS $(uname -s) not supported." >&2
    exit 1
fi

case $(uname -m) in
    amd64|x86_64) arch=amd64 ;;
    arm64|aarch64) arch=arm64 ;;
    *) arch= ;;
esac

if [ -z "$arch" ]; then
    echo "Architecture  $(uname -m) not supported." >&2
    exit 1
fi

if [ -z "$TIUP_HOME" ]; then
    TIUP_HOME=$HOME/.tiup
fi
bin_dir=$TIUP_HOME/bin
mkdir -p "$bin_dir"

install_binary() {
    #curl "$repo/tiup-$os-$arch.tar.gz?$(date "+%Y%m%d%H%M%S")" -o "/tmp/tiup-$os-$arch.tar.gz" || return 1
    tar -zxf "./tiup-$os-$arch.tar.gz" -C "$bin_dir" || return 1
    # rm "/tmp/tiup-$os-$arch.tar.gz"
    return 0
}

if ! install_binary; then
    echo "Failed to download and/or extract tiup archive."
    exit 1
fi

chmod 755 "$bin_dir/tiup"

"$bin_dir/tiup" mirror set $repo

bold=$(tput bold 2>/dev/null)
sgr0=$(tput sgr0 2>/dev/null)

# Refrence: https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix
shell=$(echo $SHELL | awk 'BEGIN {FS="/";} { print $NF }')
echo "Detected shell: ${bold}$shell${sgr0}"
if [ -f "${HOME}/.${shell}_profile" ]; then
    PROFILE=${HOME}/.${shell}_profile
elif [ -f "${HOME}/.${shell}_login" ]; then
    PROFILE=${HOME}/.${shell}_login
elif [ -f "${HOME}/.${shell}rc" ]; then
    PROFILE=${HOME}/.${shell}rc
else
    PROFILE=${HOME}/.profile
fi
echo "Shell profile:  ${bold}$PROFILE${sgr0}"

case :$PATH: in
    *:$bin_dir:*) : "PATH already contains $bin_dir" ;;
    *) printf '\nexport PATH=%s:$PATH\n' "$bin_dir" >> "$PROFILE"
        echo "$PROFILE has been modified to add tiup to PATH"
        echo "open a new terminal or ${bold}source ${PROFILE}${sgr0} to use it"
        ;;
esac

source ${PROFILE}

echo "Installed path: ${bold}$bin_dir/tiup${sgr0}"
echo "==============================================="
echo "Have a try:     ${bold}tiup playground${sgr0}"
echo "==============================================="

3、卸载

tiup uninstall --all
tiup uninstall --self

然后根据提示,删除缓存目录

最后移除 环境变量配置

vim /root/.bashrc

4、常用命令

  • 可用的命令
    • install:用于安装组件
    • list:查看可用组件列表
    • uninstall:卸载组件
    • update:更新组件版本
    • status:查看组件运行记录
    • clean:清除组件运行记录
    • mirror:从官方镜像克隆一个私有镜像
    • help:输出帮助信息
  • 可用的组件
    • playground:在本机启动集群
    • client:连接本机的集群
    • cluster:部署用于生产环境的集群
    • bench:对数据库进行压力测试

4.1、修改集群配置

# 进入修改配置页面,操作与Vim编辑器一致
# 注意输入 Y
tiup cluster edit-config cluster-name 

# 保存退出后
tiup cluster reload  cluster-name  [-N <nodes>] [-R <roles>]

参考文章:

TiDB 工具功能概览 | PingCAP 归档文档站

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

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

相关文章

意大利Panel触摸屏维修显示屏EBP419 EMBEDDED

意大利Panel触摸屏维修显示屏维修EBP400系列EMBEDDED PC EBP419 panel维修产品主要包括&#xff1a;操作面板,触摸屏,终端机,触摸面板等。应用于包装、食品饮料、纺织与各种工业自动化领域。 panel触摸屏无论是机械工程、装置或单个应用,HMI几乎都可以简化操作,并且通过HMI,还…

大数据技术——DolphinScheduler的集群部署

目录 第1章 DolphinScheduler简介 1.1 DolphinScheduler概述 1.2 DolphinScheduler核心架构 第2章 DolphinScheduler部署说明 2.1 软硬件环境要求 2.1.1 操作系统版本要求 2.1.2 服务器硬件要求 2.2 部署模式 2.2.1 单机模式 2.2.2 伪集群模式 2.2.3 集群模式 第3章…

语音转文字例会纪要有什么好?一分钟掌握5款语音转文字软件

你是否曾在紧张的会议现场&#xff0c;因笔记跟不上发言者语速而焦虑不已&#xff1f;亦或是在采访结束后&#xff0c;面对一堆录音文件感到头大&#xff0c;不知如何迅速整理成可用的文本&#xff1f; 别急&#xff0c;科技的进步总能给我们惊喜。今天&#xff0c;我要为你带…

Golang多版本环境安装并存

1. 准备 请先安装最新版本的Go&#xff0c;详见 https://go.dev/doc/install go version2. 配置镜像加速 go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct3. 安装Go指定版本 Golang官方提供dl工具来实现多版本的Go环境管理&#xff0c;详见项目&#…

带你速通C语言——常量(3)

常 量 在C语言中&#xff0c;常量是一种在程序执行过程中其值不会改变的量。声明常量的方法有两种主要方式&#xff1a;使用const关键字和预处理指令#define。 1.使用 const关键字 当你使用const关键字声明常量时&#xff0c;你需要在声明时立即初始化它&#xff0c;并且在其生…

【强化学习的数学原理】课程:从零开始到透彻理解-30分钟了解强化学习名词脉络

完全零基础的学习强化学习&#xff0c;希望能入门 此图为强化学习的一个脉络图&#xff0c;主要分为两个板块 基础的工具 基本的概念贝尔曼公式贝尔曼最优公式算法和方法 值迭代和策略迭代蒙特卡洛的方法时序差分的方法Value Function ApproximationPolicy Gradient 方法Actor…

糟糕界面集锦-控件篇07

对制作一个图形界面程序的步骤还有疑问吗&#xff1f;在Unisyns Automate Pro 中这个问题特别明显&#xff1a;开发人员显然忘记了TAB 键的作用是在控件之间遍历这个常识。作者使用了开发工具自动生成的控件次序(Tab Order)。程序的界面如下图&#xff0c;需要说明的是&#xf…

二、达梦数据库(DM8)- Django集成

达梦数据库&#xff08;DM8&#xff09;- Django集成 一、集成介绍二、下载驱动包三、Windows1.安装dmPython2.测试dmPython3.安装django-dmPython5.配置数据库信息6.测试 四、Linux1.x86_642.aarch_642.1 安装gcc编译工具2.2 安装dmPython 五、注意事项1.django-授权SYS.SYSOB…

<数据集>怠岗图片数据集<目标检测>

图片数量&#xff1a;2479张 类别数&#xff1a;3 序号类别名称图片数1工作状态9182使用手机2883打瞌睡1273 图片示例&#xff1a; 工作状态&#xff1a; 使用手机&#xff1a; 打瞌睡&#xff1a;

如何减少 Docker 镜像大小:6 种优化方法

如果您想减少docker镜像的大小&#xff0c;您需要使用构建docker镜像的标准最佳实践。 本博客讨论了您可以快速实施的各种优化技术&#xff0c;以制作最小、最精简的 docker 镜像。我们还将介绍一些用于 Docker 镜像优化的最佳工具。 Docker 作为一种容器引擎&#xff0c;可以…

SpringBoot快速入门(手动创建)

目录 案例&#xff1a;需求 步骤 1 创建Maven项目 2 导入SpringBoot起步依赖 3 定义Controller 4 编写引导类 案例&#xff1a;需求 搭建简单的SpringBoot工程&#xff0c;创建hello的类定义h1的方法&#xff0c;返回Hello SpringBoot! 步骤 1 创建Maven项目 大家&…

【Java】文件IO

文章目录 一、什么是文件二、硬盘1. 机械硬盘2. 固态硬盘 三、文件路径四、文件类型 文件 硬盘 系统管理文件&#xff0c;引入一个额专门的模块&#xff0c;“文件系统”&#xff0c;每个文件都有一个“路径”描述文件所在位置 一、什么是文件 此处谈到的文件&#xff0c;本…

SQL Zoo 8+.NSS Tutorial

以下数据来自SQL Zoo 1.at Edinburgh Napier University&#xff0c;studying (8) Computer Science&#xff0c;Show the the percentage who STRONGLY AGREE.&#xff08;在爱丁堡纳皮尔大学&#xff0c;学习“计算机科学”&#xff0c;显示STRONGLY AGREE的百分比&#xff0…

解决navicat隔一段时间连接(操作,查询)就卡顿问题Navicat老是卡死,必须强制退出

解决方法&#xff1a; 打开编辑--->高级--->设置心跳时间30s&#xff08;输入框设置为30 (建议30-240之间&#xff0c;不要超过240)– 点击确定&#xff01;&#xff09; 问题&#xff1a; 使用 Navicat 连接服务器上的数据库时&#xff0c;如果隔一段时间没有使用&…

餐厅管理系统

目录 一、 系统简介 1.1需求分析 餐厅管理系统是一个基于Javaweb的系统&#xff0c;旨在为音乐餐厅、情侣餐厅和中餐厅提供全面的管理和服务功能。系统主要包括餐厅详情管理、价格管理和加入购物车功能。 1.2 编程环境与工具 二、 系统总体设计 2.1 系统的功能模块图…

[log4cplus]: 快速搭建分布式日志系统

关键词: 日志系统 、日志分类、自动分文件夹、按时间(月/周/日/小时/分)轮替 一、引言 这里我默认看此文的我的朋友们都已经具备一定的基础,所以,我们本篇不打算讲关于log4cplus的基础内容,文中如果涉及到没有吃透的点,需要朋友们动动自己聪明的脑袋和发财的手指,进一…

C++进阶中多态的全部主要内容

今天小编和大家一起学习C中多态的全部主要内容&#xff0c;希望今天大家和小编一起学习之后&#xff0c;会对多态有一个初步的了解和使用&#xff0c;好啦&#xff0c;话不多说&#xff0c;开始学习&#xff01;~~~ 一、多态的概念及满足条件 概念&#xff1a;指的就是不同的对…

NC单链表的排序

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给定一个节点…

九、OpenCVSharp 中的图像形态学操作

文章目录 简介一、腐蚀1. 腐蚀的原理和数学定义2. 结构元素的形状和大小选择3. 腐蚀操作的代码实现和效果展示二、膨胀1. 膨胀的概念和作用2. 与腐蚀的对比和组合使用(如开运算、闭运算)三、开运算1. 开运算的定义和用途(去除小的明亮区域)2. 开运算在去除噪声和分离物体方…

鸿蒙(API 12 Beta3版)【扩展屏投播开发指导】使用投播组件

通过本节开发指导&#xff0c;可在系统镜像投屏后&#xff0c;获取投屏设备信息&#xff0c;实现扩展屏模式的投播&#xff0c;实现双屏协作的能力。 运作机制 虚拟扩展屏 是在系统投屏启动过程中建立的&#xff0c;依据双端协商的投屏视频流的分辨率创建&#xff0c;支持1080…