Tiup离线安装TIDB集群4.0.16版本
环境:centos7.6
中控机:8.213.8.25(内网)
可用服务器8.213.8.25-8.213.8.29
一、准备 TiUP 离线组件包
方法1:外网下载离线安装包拷贝进内网服务器
在TiDB官网下载页面选择对应版本的TiDBserver离线安装包,拷贝进内网中控机的/root/soft目录下。
方法2:使用 tiup mirror clone 命令手动打包离线组件包
1、在线环境中安装 TiUP 包管理器工具
①执行如下命令安装 TiUP 工具:
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
②重新声明全局环境变量:
source .bash_profile
③确认 TiUP 工具是否安装:
which tiup
2、使用 TiUP 制作离线镜像
①在一台和外网相通的机器上拉取需要的组件:
tiup mirror clone tidb-community-server-${version}-linux-amd64 ${version} --os=linux --arch=amd64
该命令会在当前目录下创建一个名叫 tidb-community-server-${version}-linux-amd64 的目录,里面包含 TiUP 管理的组件包。
②通过 tar 命令将该组件包打包然后发送到隔离环境的中控机:
tar czvf tidb-community-server-${version}-linux-amd64.tar.gz tidb-community-server-${version}-linux-amd64
此时,tidb-community-server-${version}-linux-amd64.tar.gz 就是一个独立的离线环境包。
二、 部署离线环境 TiUP 组件
将离线包发送到目标集群的中控机后,执行以下命令安装 TiUP 组件:
tar xzvf tidb-community-server-${version}-linux-amd64.tar.gz
sh tidb-community-server-${version}-linux-amd64/local_install.sh
source /home/tidb/.bash_profile
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。
三、TiKV 数据盘挂载
推荐 TiKV 部署目标机器的数据目录使用 EXT4 文件系统格式。相比于 XFS 文件系统格式,EXT4 文件系统格式在 TiDB 集群部署案例较多,生产环境优先选择使用 EXT4 文件系统格式。
磁盘大于1T方法
fdisk -l
Disk /dev/vdb: 1000 GB
parted -s -a optimal /dev/vdb mklabel gpt -- mkpart primary ext4 1 -1
创建分区
echo "UUID=$(lsblk -f|grep vdb1|awk '{print $3}') /data1 ext4 defaults,nodelalloc,noatime 0 2" >> /etc/fstab
配置开机自动挂载
mkfs.ext4 /dev/vdb1
格式化磁盘
more /etc/fstab
mkdir /data1 && mount -a
挂载盘
磁盘小于1T方法
pvcreate /dev/vdb
vgcreate vg_data /dev/vdb
lvcreate -l 100%VG -n lv_tidb vg_data mkdir /data1
mkfs.ext4 /dev/mapper/vg_data-lv_tidb
echo "UUID=$(lsblk -f|grep vg_data-lv_tidb|awk '{print $3}') /data1 ext4 defaults,nodelalloc,noatime 0 2" >> /etc/fstab
more /etc/fstab
mount -a
四、中控机上配置ssh免密登陆(包括自己对自己的免密)
ssh-keygen #一直回车
ssh-copy-id root@80.213.8.25 #输入密码配置免密登陆
ssh-copy-id root@80.213.8.26
ssh-copy-id root@80.213.8.27
ssh-copy-id root@80.213.8.28
ssh-copy-id root@80.213.8.29
中控机自己也需要对自己做免密
五、集群初始化配置文件需要手动编写,需要在中控机上面创建 YAML 格式配置文件,例如 topology.yaml
cat topology.yaml
点击查看代码
# # 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: 60022
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
server_configs:
pd:
replication.enable-placement-rules: true
pd_servers:
- host: 80.213.8.25
- host: 80.213.8.26
- host: 80.213.8.27
tidb_servers:
- host: 80.213.8.26
- host: 80.213.8.28
- host: 80.213.8.29
tikv_servers:
- host: 80.213.8.27
- host: 80.213.8.28
- host: 80.213.8.29
monitoring_servers:
- host: 80.213.8.25
grafana_servers:
- host: 80.213.8.25
alertmanager_servers:
- host: 80.213.8.25
六、部署 TiDB 集群
每台服务器创建tidb用户
useradd tidb
echo 'yourpasswd'|passwd --stdin tidb
export TIUP_MIRRORS=/path/to/mirror
/path/to/mirror 是执行 local_install.sh 命令时输出的离线镜像包的位置
tiup cluster deploy tidb-cluster v4.0.16 topology.yaml --user root
tiup cluster start tidb-cluster
通过 TiUP cluster 部署的集群名称为 tidb-cluster
部署版本为 v4.0.16,其他版本可以执行 tiup list tidb 获取
初始化配置文件为 topology.yaml
--user tidb:通过 tidb 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。
预期日志结尾输出会有 Deployed cluster tidb-test successfully 关键词,表示部署成功。
七、tidb常用命令
点击查看代码
[root@localhost tidb-tiup]# tiup cluster
The component `cluster` is not installed; downloading from repository.
download https://tiup-mirrors.pingcap.com/cluster-v1.0.7-linux-amd64.tar.gz 9.62 MiB / 9.62 MiB 100.00% 245.11 MiB p/s
Starting component `cluster`: /root/.tiup/components/cluster/v1.0.7/tiup-cluster
Deploy a TiDB cluster for production
Usage:
tiup cluster cluster [flags]
tiup cluster [command]
Available Commands:
check Perform preflight checks for the cluster.
deploy Deploy a cluster for production
start Start a TiDB cluster
stop Stop a TiDB cluster
restart Restart a TiDB cluster
scale-in Scale in a TiDB cluster
scale-out Scale out a TiDB cluster
destroy
upgrade Upgrade a specified TiDB cluster
exec Run shell command on host in the tidb cluster
display Display information of a TiDB cluster
list List all clusters
audit Show audit log of cluster operation
import Import an exist TiDB cluster from TiDB-Ansible
edit-config Edit TiDB cluster config
reload Reload a TiDB cluster's config and restart if needed
patch Replace the remote package with a specified package and restart the service
help Help about any command
Flags:
-h, --help help for tiup
--ssh-timeout int Timeout in seconds to connect host via SSH, ignored for operations that don't need an SSH connection. (default 5)
-v, --version version for tiup
--wait-timeout int Timeout in seconds to wait for an operation to complete, ignored for operations that don't fit. (default 60)
-y, --yes Skip all confirmations and assumes 'yes'
Use "tiup cluster help [command]" for more information about a command.
Tiup离线安装TIDB集群4.0.16版本的更多相关文章
- 在线安装TIDB集群
在线安装TiDB集群 服务器准备 说明:TiDB8需要能够连接外网,以便下载各类安装包 TiDB4非必须,但最好是有一台,因为后续测试Mysql数据同步或者进行性能比较时,都要用到 TiKV最好是采 ...
- CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群
本文是在CentOS7.4 下进行CDH6集群的完全离线部署.CDH5集群与CDH6集群的部署区别比较大. 说明:本文内容所有操作都是在root用户下进行的. 文件下载 首先一些安装CDH6集群的必须 ...
- 离线安装redis集群
Step0:redis集群组件需求 Step1:离线安装ruby Step2:离线安装rubygems Step3:安装rubygems的 redis api Step4:离线安装tcl 8.6 St ...
- Linux离线安装redis集群
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,联网环境安装较为简单,这里只说脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网,服务 ...
- 在虚拟机上安装redis集群,redis使用版本为4.0.5,本机通过命令客户端可以连接访问,外部主机一直访问不了
在虚拟机上安装了redis 4 ,启动后本机客户端可以连接访问,但是外部主机一直访问不了,在使用java代码连接redis集群时报:no reachable node in cluster,原因:在r ...
- Centos7配置TiDB集群
一:各模块属性 模块名称 状态 建议实例数 功能 负载均衡组件 TiDB 无状态 2 接收SQL请求,处理SQL相关逻辑,并通过PB找到存储数据的TiKV地址 LVS.HAProxy.F5 PB 集群 ...
- RedHat6.5安装kafka集群
版本号: Redhat6.5 JDK1.8 zookeeper-3.4.6 kafka_2.11-0.8.2.1 1.软件环境 1.3台RedHat机器,master.slave1. ...
- Apache Hadoop集群离线安装部署(二)——Spark-2.1.0 on Yarn安装
Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...
- TiDB集群安装主要操作
TiDB集群安装主要操作 参考资料:https://www.cnblogs.com/plyx/archive/2018/12/21/10158615.html 一.TiDB数据简介 TiDB 是 Pi ...
- centos7.0 安装redis集群
生产环境下redis基本上都是用的集群,毕竟单机版随时都可能挂掉,风险太大.这里我就来搭建一个基本的redis集群,功能够用但是还需要完善,当然如果有钱可以去阿里云买云数据库Redis版的,那个还是很 ...
随机推荐
- C艹 里 printf 和 cout 的区别总结
1. printf里面打出%需要连着打出两次 打出一次默认为格式标识符 打出两次: 2. 当 未完待续
- Codeforces Round #846 (Div. 2) A-E
比赛链接 A 题意 给 \(n\) 个正整数,找到三个数,使得他们的和为奇数,输出他们的下标. 题解 知识点:贪心. 找到三个奇数或者一个奇数两个偶数即可,其他情况无解. 时间复杂度 \(O(n)\) ...
- 超详细手把手教你cordova开发使用指南+自定义插件,jsbridge
Cordova是什么 使用前端技术 开发跨平台web App的工具 底层原理:HTML+CSS搭建页面, JS和原生交互 交互原理:Cordova插件 环境配置 安卓开发基础环境搭建的文章可以参考一下 ...
- Vue导出模板、使用前端js办法导出表格数据、导入表格前端读取表格数据、导入表格发送后端读取数据
以下是几种用的较多的函数方法,可以参考使用. // 導出1 myExport() { // post請求文件寫法1 const url = 'http://XXXX/XXXX/XXXX/XXXX' c ...
- 使用 NineData 实现备份集的实时查询
使用 NineData 实现备份集的实时查询 背景信息 数据作为一家公司的重要资产,其重要程度不言而喻.数据库为数据提供存取服务,担任着重要的角色,如果因数据误删.服务器故障.病毒入侵等原因导致数据丢 ...
- 最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性
1 介绍 策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度. 反例:使用策略模式对一个boolea ...
- day03-模型数据
模型数据 1.数据放入request 说明:开发中,控制器/处理器中获取的数据如何放入request域,然后在前端(vue/jsp/...)取出显示? 先来看一个例子 应用实例需求:表单提交信息,后端 ...
- 花了半个小时基于 ChatGPT 搭建了一个微信机器人
相信大家最近被 ChatGPT 刷屏了,其实在差不多一个月前就火过一次,不会那会好像只在程序员的圈子里面火起来了,并没有被大众认知到,不知道最近是因为什么又火起来了,而且这次搞的人尽皆知. 想着这么火 ...
- 线程基础知识15-StampedLock
1 简介 StampedLock是JDK1.8中新增的一个读写锁,也是对JDK1.5中的读写锁ReentrantReadWriteLock的优化.在原先读写锁的基础上新增了一种叫乐观读(Optimis ...
- 微服务学习计划——SpringCloud
微服务学习计划--SpringCloud 在学习并掌握了众多基础框架之后,我们的项目繁杂且难以掌握,那么我们就需要开启一门新的课程,也就是我们常说的微服务架构 随着互联网行业的发展,对服务的要求也越来 ...