TiDB离线部署、Tiup部署TiDB

先做tidb准备工作:

部署 TiDB 前的环境检查操作:TiDB 环境与系统配置检查 | PingCAP 文档中心

1.查看数据盘

fdisk -l

(2,3)本人的分区已经是 ext4 文件系统不用分区,具体官方文档的分区:

4.查看数据盘分区 UUID。

lsblk -f

5.编辑 /etc/fstab 文件,添加 nodelalloc 挂载参数

vi /etc/fstab

UUID=49824831-8a3c-41b5-9916-59bd834ca598 /data1 ext4 defaults,nodelalloc,noatime 0 2

6.挂载数据盘

mkdir /data1 && mount -a

7.查看挂载是否正确

mount -t ext4

我的结果跟官方的结果存在差异,缺少nodelalloc,data=ordered多出seclabel:/dev/nvme0n1p1 on /data1 type ext4 (rw,noatime,nodelalloc,data=ordered)

[root@localhost ~]# mount -t ext4
/dev/mapper/openeuler-root on / type ext4 (rw,relatime,seclabel)
/dev/sda1 on /boot type ext4 (rw,relatime,seclabel)
/dev/mapper/openeuler-root on /data1 type ext4 (rw,noatime,seclabel)

检测及关闭系统 swap

如果在操作系统初始化阶段,已经单独划分了 swap 分区盘,并且启用了 swap,则使用以下命令进行关闭:

echo "vm.swappiness = 0">> /etc/sysctl.conf

swapoff -a

sysctl -p

如果主机内存偏小,关闭系统 swap 可能会更容易触发 OOM 问题,可参考以如下方法将 swap 优先级调低,但不做永久关闭:

echo "vm.swappiness = 0">> /etc/sysctl.conf

sysctl -p

设置 TiDB 节点的临时空间

sudo mkdir /tmp/tidb

sudo chmod -R 777 /tmp/tidb

检测及关闭目标部署机器的防火墙

sudo systemctl status firewalld

sudo systemctl stop firewalld

sudo systemctl disable firewalld

sudo systemctl status firewalld

检测及安装 NTP 服务

sudo systemctl status chronyd

执行 chronyc tracking 命令查看 Chrony 服务是否与 NTP 服务器同步

chronyc tracking

检查和配置操作系统优化参数

1.关闭透明大页

查看:cat /sys/kernel/mm/transparent_hugepage/enabled

关闭:禁用透明大页(THP)

可以通过修改内核参数来禁用透明大页,编辑 /etc/sysctl.conf 文件并添加:

vm.nr_hugepages = 0
kernel.shmmax = 68719476736
kernel.shmall = 4294967296

sudo sysctl -p /etc/sysctl.conf

2.配置系统优化参数

查看当前策略

tuned-adm list

Current active profile: virtual-guest 表示当前操作系统的 tuned 策略使用 virtual-guest

创建新的 tuned 策略:

mkdir /etc/tuned/balanced-tidb-optimal/

vi /etc/tuned/balanced-tidb-optimal/tuned.conf

[main]
include=balanced[cpu]
governor=performance[vm]
transparent_hugepages=never[disk]
devices_udev_regex=(ID_SERIAL=36d0946606d79f90025f3e09a0c1fc035)|(ID_SERIAL=36d0946606d79f90025f3e09a0c1f9e81)
elevator=noop

应用新的 tuned 策略

tuned-adm profile balanced-tidb-optimal

安装 numactl 工具

sudo yum install numactl

手动配置 SSH 互信及 sudo 免密码

略,有需求的看官方文档

------准备工作完成,重启一下服务器reboot,开始安装,部署,真是太麻烦了

reboot

-----重启完可能使用不了tar,需要重新挂载一下

[root@localhost tidb]# mount -o remount,rw /
[root@localhost tidb]# mount -o remount,rw /data1
[root@localhost tidb]# mount -t ext4
/dev/mapper/openeuler-root on / type ext4 (rw,relatime,seclabel,nodelalloc)
/dev/mapper/openeuler-root on /data1 type ext4 (rw,noatime,seclabel,nodelalloc)

通过官方下载页面下载的离线软件包,上传到服务器后执行以下密令安装 TiUP 组件:

tar -zxvf tidb-community-server-v7.1.3-linux-amd64.tar.gz

禁用了遥测,并设置了镜像路径

sh tidb-community-server-v7.1.3-linux-amd64/local_install.sh

加载变量环境

source /root/.bash_profile

下面是tidb-community-toolkit:

解压:

tar -xf tidb-community-toolkit-v7.1.3-linux-amd64.tar.gz

查看文件权限

ls -ld tidb-community-server-v7.1.3-linux-amd64 tidb-community-toolkit-v7.1.3-linux-amd64

进入目录:

cd tidb-community-server-v7.1.3-linux-amd64

将名为 keys 的文件夹复制到 ~/.tiup/ 目录下,并保留原始文件夹的属性

cp -rp keys ~/.tiup/

使用 tiup 命令将指定路径下的镜像合并到 TiUP 的镜像列表中

tiup mirror merge ../tidb-community-toolkit-v7.1.3-linux-amd64

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

tiup cluster template > topology.yaml

执行上面密令会出提示,tiup有更新,我们先不管,查看一下tiup的版本,能用就不用更新

tiup --version

打开topology.yaml文件

vi topology.yaml

global:user: "tidb"ssh_port: 22deploy_dir: "/tidb-deploy"data_dir: "/tidb-data"listen_host: 0.0.0.0arch: "amd64"monitored:node_exporter_port: 9100blackbox_exporter_port: 9115server_configs:tidb:log.slow-threshold: 300tikv:readpool.storage.use-unified-pool: falsereadpool.coprocessor.use-unified-pool: truepd:replication.enable-placement-rules: truereplication.location-labels: ["host"]tiflash:logger.level: "info"pd_servers:- host: 10.9.7.27tidb_servers:- host: 10.9.7.27port: 4000status_port: 10080deploy_dir: "/tidb-deploy/tidb-4000"log_dir: "/tidb-deploy/tidb-4000/log"tikv_servers:- host: 10.9.7.27port: 20160status_port: 20180deploy_dir: "/data1/tidb-deploy/tikv-20160"data_dir: "/data1/tidb-data/tikv-20160"log_dir: "/data1/tidb-deploy/tikv-20160/log"config:server.labels: { host: "logic-host-1" }- host: 10.9.7.27port: 20161status_port: 20181deploy_dir: "/data2/tidb-deploy/tikv-20161"data_dir: "/data2/tidb-data/tikv-20161"log_dir: "/data2/tidb-deploy/tikv-20161/log"config:server.labels: { host: "logic-host-2" }- host: 10.9.7.27port: 20162status_port: 20182deploy_dir: "/data1/tidb-deploy/tikv-20162"data_dir: "/data1/tidb-data/tikv-20162"log_dir: "/data1/tidb-deploy/tikv-20162/log"config:server.labels: { host: "logic-host-3" }tiflash_servers:- host: 10.9.7.27tcp_port: 9000flash_service_port: 3930flash_proxy_port: 20170flash_proxy_status_port: 20292metrics_port: 8234deploy_dir: /data1/tidb-deploy/tiflash-9000data_dir: /data1/tidb-data/tiflash-9000log_dir: /data1/tidb-deploy/tiflash-9000/log
#先注释掉,不添加kvcdc_server
#kvcdc_servers:#- host: 10.9.7.27#port: 8600#data_dir: "/data1/tidb-data/tikv-cdc-8600"#log_dir: "/data1/tidb-deploy/tikv-cdc-8600/log"
monitoring_servers:- host: 10.9.7.27
grafana_servers:- host: 10.9.7.27
alertmanager_servers:- host: 10.9.7.27

执行部署命令前,先使用 check 及 check --apply 命令检查和自动修复集群存在的潜在风险:

检查集群存在的潜在风险:

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

自动修复集群存在的潜在风险:

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

执行完上面的密令有一推需要解决的报错:(有些问题是跟分区那步没做好造成的,所有能按官方的TiDB 环境与系统配置检查来最好,也就是文章的开头)

----start----这部分是检测后需要手动调整的

1.设置网络参数

添加以下参数到 /etc/sysctl.conf 文件:

net.core.somaxconn = 32768
net.ipv4.tcp_syncookies = 0

2.关闭 SELinux:

编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled,然后重启系统生效

----end----

部署 TiDB 集群:

tiup cluster deploy tidb-test v7.1.3 ./topology.yaml --user root -p

查看 TiUP 管理的集群情况

tiup cluster list

检查 tidb-test 集群情况

tiup cluster display tidb-test

启动集群:

安全启动:

tiup cluster start tidb-test --init

普通启动:

tiup cluster start tidb-test

----初始化topology.yaml有问题,导致启动失败的情形下,修改后要销毁之前的集群才能重新部署生效

销毁集群:tiup cluster destroy tidb-test -y

重新部署:tiup cluster deploy tidb-test v7.1.3 ./topology.yaml --user root -p

再次启动集群

------配置正常的情况下不用这段

验证集群运行状态:

tiup cluster display tidb-test

访问数据库:

navicat连接数据库,ip,root,端口4000,密码普通启动无,安全启动看提示

停止集群:

tiup cluster stop tidb-test

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

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

相关文章

Python reversed函数

在Python编程中,reversed()函数是一个内置函数,用于反转序列对象的元素顺序。这个函数可以应用于列表、元组、字符串等可迭代对象,并返回一个反向迭代器,可以按照相反的顺序遍历序列中的元素。本文将深入探讨Python中的reversed()…

Vue学习之计算属性

模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。比如说,我们有这样一个包含嵌套数组的对象: const author reactive({name: John Doe,books: [Vue 2 - Advan…

【算法与数据结构】1971、LeetCode寻找图中是否存在路径

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题应用并查集的理论直接就可以解决:【算法与数据结构】回溯算法、贪心算法、动态规划、图…

时域系统到频域响应的直观解析及数学推导

课本里经常有已知系统时域的差分方程,求系统的频率响应这样的题,老师会讲怎么带公式进去解决,怎么查表解决,但我们总时无法直观地理解这两种转换的特殊关联在哪里,这篇文章以FIR滤波器为例,不仅列出了课本里…

【Docker】免费使用的腾讯云容器镜像服务

需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 1、设置密码 2、登录实例&#xff08;sudo docker login xxxxxx&#xff09; 3、新建命名空间&#xff08;每个命名空…

高刷电竞显示器 - HKC VG253KM

今天给大家分享一款高刷电竞显示器 - HKC VG253KM。 高刷电竞显示器 - HKC VG253KM源于雄鹰展翅翱翔的设计灵感&#xff0c;严格遵循黄金分割比例的蓝色点晴线条&#xff0c;加上雾面工艺及高低起伏错落有致的线条处理&#xff0c;在VG253KM的背部勾勒出宛若大鹏展翅的鹰翼图腾…

Python实战:统计字符串中的英文字母、空格、数字及其他字符出现的个数

Python实战&#xff1a;统计字符串中的英文字母、空格、数字及其他字符出现的个数 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &…

个人博客系统测试

文章目录 一、项目介绍二、测试1. 功能测试2. 自动化测试&#xff08;1&#xff09;添加相关依赖&#xff08;2&#xff09;新建包并在报下创建测试类&#xff08;3&#xff09;亮点及难点 一、项目介绍 个人博客系统采用前后端分离的方法来实现&#xff0c;同时使用了数据库来…

windows11本地深度学习环境搭建Anacond,keras,tensorflow,pytorch, jupyter notebook

前言 工欲善其事&#xff0c;必先利其器。 第一步 安装Anaconda 下载地址&#xff1a; https://www.anaconda.com/download 路径默认 这里都勾选上 然后会卡在这里&#xff0c;卡很久&#xff0c;不用管&#xff0c;等着就行 第二步 配置环境 conda env list 列出所有…

Redis可视化工具——RedisInsight

文章目录 1. 下载2. 安装3. RedisInsight 添加 Redis 数据库4. RedisInsight 使用 RedisInsight 是 Redis 官方出品的可视化管理工具&#xff0c;支持 String、Hash、Set、List、JSON 等多种数据类型的管理&#xff0c;同时集成了 RedisCli&#xff0c;可进行终端交互。 1. 下载…

电子器件系列63:焊带(光伏焊带)

光伏焊带&#xff0c;又称涂锡焊带。光伏焊带是光伏组件的重要组成部分&#xff0c;属于电气连接部件&#xff0c;应用于光伏电池片的串联或并联&#xff0c;发挥导电聚电的重要作用&#xff0c;以提升光伏组件的输出电压和功率。光伏焊带是光伏组件焊接过程中的重要材料&#…

ShardingSphere 5.x 系列【15】分布式主键生成器

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 概述2. 配置3. 内置算法3.1 UUID3.2 Snowflake3.3 NanoId3.4 CosId3.5 Co…

美客多如何批量注册买家账号?

美客多在南美电商领域可是个大佬。它的实力强大&#xff0c;影响力广泛&#xff0c;被大家尊称为南美电商巨头。它的业务范围覆盖了整个拉丁美洲&#xff0c;特别是一些重要的国家&#xff0c;比如墨西哥、阿根廷、玻利维亚、巴西、智利和哥伦比亚&#xff0c;这些地方都有它的…

【开源】SpringBoot框架开发婚恋交友网站

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 会员管理模块2.3 新闻管理模块2.4 相亲大会管理模块2.5 留言管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 会员信息表3.2.2 新闻表3.2.3 相亲大会表3.2.4 留言表 四、系统展示五、核心代码5.…

cookie伪造 [BSidesCF 2019]Kookie1

打开题目 提示用admin用户登录 尝试弱口令发现&#xff0c;登录失败 显示用admin&passwordadmin!进行登录 有发现说cookie&#xff0c;就尝试用cookie登录&#xff1a; f12编辑添加cookie重发包: 或者bp抓包 Cookie:usernameadmin 用admin登录成功 得到flag: 参考文章&…

Nmap详解

Nmap(Network Mapper,网络映射器)是一款开放源代码的网络探测和安 全审核工具。它被设计用来快速扫描大型网络&#xff0c;包括主机探测与发现、开放的端口情 况、操作系统与应用服务指纹识别、WAF 识别及常见安全漏洞。它的图形化界面是 Zenmap, 分布式框架为DNmap。 Nm…

TensorFlow2.x 精选笔记(1)数据基本操作与线性代数

学习参考&#xff1a; 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning 一、数组与张量 虽然张量看起来是复杂的对象&#xff0c;但它们可以理解为向量和矩阵的集合。理解向量和矩阵对于理解张量至关重要。 向量是元素的一维列表&#xff0c;向量是一…

C++的vector容器->基本概念、构造函数、赋值操作、容量和大小、插入和删除、数据存取、互换容器、预留空间

#include<iostream> using namespace std; #include <vector> //vector容器构造 void printVector(vector<int>& v) { for (vector<int>::iterator it v.begin(); it ! v.end(); it) { cout << *it << " "…

【人脸朝向识别与分类预测】基于LVQ神经网络

课题名称&#xff1a;基于LVQ神经网络的人脸朝向识别分类 版本日期&#xff1a;2024-02-20 运行方式&#xff1a;直接运行GRNN0503.m文件 代码获取方式&#xff1a;私信博主或 企鹅号:491052175 模型描述&#xff1a; 采集到一组人脸朝向不同角度时的图像&#xff0c;图像…

Python urllib、requests、HTMLParser

HTTP协议 HTTP 协议&#xff1a;一般指HTTP(超文本传输)协议。 HTTP是为Web浏览器和Web服务器之间的通信而设计的&#xff0c;基于TCP/IP通信协议嘞传递数据。 HTTP消息结构 客户端请求消息 客户端发送一个HTTP请求到服务器的请求消息包括以下格式 请求行(request line)请求…