在openeuler22.03上安装单机版TIDB 7.6.0

1.查看系统版本是否支持

复制代码
[root@localhost ~]# cat /etc/os-release 
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"

[root@localhost ~]# 

2.下载软件

分布式数据库 TiDB 社区版 | PingCAP免费下载 TiDB 社区版,体验开源分布式 SQL 数据库的强大功能。TiDB 具有一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。https://cn.pingcap.com/product-community/

3.TiDB 环境与系统配置检查

3.1在 TiKV 部署目标机器上添加数据盘 EXT4 文件系统挂载参数

复制代码
[root@localhost ~]# cat /etc/fstab|grep /opt
/dev/mapper/openeuler-opt /opt                    ext4    defaults,nodelalloc,noatime        1 2
[root@localhost ~]# 

3.2检测及关闭系统 swap

bash 复制代码
echo "vm.swappiness = 0">> /etc/sysctl.conf
swapoff -a
sysctl -p

3.3 设置 TiDB 节点的临时空间(推荐)

bash 复制代码
sudo mkdir /tmp/tidb
如果目录 /tmp/tidb 已经存在,需确保有写入权限。

sudo chmod -R 777 /tmp/tidb

3.4关闭系统防火墙

bash 复制代码
检测及关闭目标部署机器的防火墙
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

3.5 配置系统参数

bash 复制代码
执行以下命令修改 sysctl 参数。
echo "fs.file-max = 1000000">> /etc/sysctl.conf
echo "net.core.somaxconn = 32768">> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_recycle = 0">> /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies = 0">> /etc/sysctl.conf
echo "vm.overcommit_memory = 1">> /etc/sysctl.conf
sysctl -p


执行以下命令配置用户的 limits.conf 文件。
cat << EOF >>/etc/security/limits.conf
tidb           soft    nofile          1000000
tidb           hard    nofile          1000000
tidb           soft    stack          32768
tidb           hard    stack          32768
EOF

3.6创建tidb用户,配置互信和免密

由于为单机版本,互信省略

bash 复制代码
手动配置 SSH 互信及 sudo 免密码
对于有需求,通过手动配置中控机至目标节点互信的场景,可参考本段。通常推荐使用 TiUP 部署工具会自动配置 SSH 互信及免密登录,可忽略本段内容。

以 root 用户依次登录到部署目标机器创建 tidb 用户并设置登录密码。

useradd tidb && \
passwd tidb




执行以下命令,将 tidb ALL=(ALL) NOPASSWD: ALL 添加到文件末尾,即配置好 sudo 免密码。
visudo
tidb ALL=(ALL) NOPASSWD: ALL

以 tidb 用户登录到部署目标机器后,执行以下命令,不需要输入密码并切换到 root 用户,表示 tidb 用户 sudo 免密码配置成功。

sudo -su root

4.部署离线环境 TiUP 组件

4.1 上传并解压离线安装包

bash 复制代码
将离线包发送到目标集群的中控机后,执行以下命令安装 TiUP 组件:

使用tidb用户
tar xzvf tidb-community-server-v7.6.0-linux-amd64.tar.gz && \
sh tidb-community-server-v7.6.0-linux-amd64/local_install.sh && \
source /home/tidb/.bash_profile

4.2 合并离线包

bash 复制代码
合并离线包
如果是通过官方下载页面下载的离线软件包,需要将 TiDB-community-server 软件包和 TiDB-community-toolkit 软件包合并到离线镜像中。如果是通过 tiup mirror clone 命令手动打包的离线组件包,不需要执行此步骤。
执行以下命令合并离线组件到 server 目录下。

tar xf tidb-community-toolkit-v7.6.0-linux-amd64.tar.gz
ls -ld tidb-community-server-v7.6.0-linux-amd64 tidb-community-toolkit-v7.6.0-linux-amd64
cd tidb-community-server-v7.6.0-linux-amd64/
cp -rp keys ~/.tiup/
tiup mirror merge ../tidb-community-toolkit-v7.6.0-linux-amd64

4.3 生成部署拓扑文件

bash 复制代码
tiup cluster template > topology.yaml

[tidb@localhost ~]$ cd /opt/tidb/soft/tidb-community-server-v7.6.0-linux-amd64/
[tidb@localhost tidb-community-server-v7.6.0-linux-amd64]$ cat topology.yaml
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/opt/tidb/tidb-deploy"
  data_dir: "/opt/tidb/tidb-data"
server_configs: {}
pd_servers:
  - host: 10.x.x.239
    deploy_dir: "/opt/tidb/tidb-deploy/pd-2379"
    data_dir: "/opt/tidb/tidb-data/pd-2379"
    log_dir: "/opt/tidb/tidb-deploy/pd-2379/log"
tidb_servers:
  - host: 10.x.x.239
    deploy_dir: "/opt/tidb/tidb-deploy/tidb-4000"
    log_dir: "/opt/tidb/tidb-deploy/tidb-4000/log"
tikv_servers:
  - host: 10.x.x.239
    deploy_dir: "/opt/tidb/tidb-deploy/tikv-20160"
    data_dir: "/opt/tidb/tidb-data/tikv-20160"
    log_dir: "/opt/tidb/tidb-deploy/tikv-20160/log"
monitoring_servers:
  - host: 10.x.x.239
    deploy_dir: "/opt/tidb/tidb-deploy/prometheus-8249"
    data_dir: "/opt/tidb/tidb-data/prometheus-8249"
    log_dir: "/opt/tidb/tidb-deploy/prometheus-8249/log"
grafana_servers:
  - host: 10.x.x.239
    deploy_dir: /opt/tidb/tidb-deploy/grafana-3000
alertmanager_servers:
  - host: 10.x.x.239
    deploy_dir: "/opt/tidb/tidb-deploy/alertmanager-9093"
    data_dir: "/opt/tidb/tidb-data/alertmanager-9093"
    log_dir: "/opt/tidb/tidb-deploy/alertmanager-9093/log"
[tidb@localhost tidb-community-server-v7.6.0-linux-amd64]$ 

4.4 使用tiup检测和部署

bash 复制代码
以下均使用tidb用户,需要输入tidb用户的密码
检查集群存在的潜在风险:
tiup cluster check ./topology.yaml --user tidb

自动修复集群存在的潜在风险:
tiup cluster check ./topology.yaml --apply --user tidb -p

部署 TiDB 集群:
tiup cluster deploy tidb-test v7.6.0 ./topology.yaml --user tidb -p


初始化TIDB集群:
tiup cluster start tidb-test --init

4.5 查看集群

bash 复制代码
[tidb@localhost ]$ tiup cluster display tidb-test
tiup is checking updates for component cluster ...
Starting component `cluster`: /home/tidb/.tiup/components/cluster/v1.14.1/tiup-cluster display tidb-test
Cluster type:       tidb
Cluster name:       tidb-test
Cluster version:    v7.6.0
Deploy user:        tidb
SSH type:           builtin
Dashboard URL:      http://10.x.x.239:2379/dashboard
Grafana URL:        http://10.x.x.239:3000
ID                Role          Host        Ports        OS/Arch       Status   Data Dir                               Deploy Dir
--                ----          ----        -----        -------       ------   --------                               ----------
10.x.x.239:9093   alertmanager  10.x.x.239  9093/9094    linux/x86_64  Up       /opt/tidb/tidb-data/alertmanager-9093  /opt/tidb/tidb-deploy/alertmanager-9093
10.x.x.239:3000   grafana       10.x.x.239  3000         linux/x86_64  Up       -                                      /opt/tidb/tidb-deploy/grafana-3000
10.x.x.239:2379   pd            10.x.x.239  2379/2380    linux/x86_64  Up|L|UI  /opt/tidb/tidb-data/pd-2379            /opt/tidb/tidb-deploy/pd-2379
10.x.x.239:9090   prometheus    10.x.x.239  9090/12020   linux/x86_64  Up       /opt/tidb/tidb-data/prometheus-8249    /opt/tidb/tidb-deploy/prometheus-8249
10.x.x.239:4000   tidb          10.x.x.239  4000/10080   linux/x86_64  Up       -                                      /opt/tidb/tidb-deploy/tidb-4000
10.x.x.239:20160  tikv          10.x.x.239  20160/20180  linux/x86_64  Up       /opt/tidb/tidb-data/tikv-20160         /opt/tidb/tidb-deploy/tikv-20160
Total nodes: 6
[tidb@localhost tidb-community-server-v7.6.0-linux-amd64]$ 
相关推荐
宇钶宇夕3 分钟前
SIMATIC S7-1200的以太网通信能力:协议与资源详细解析
运维·服务器·数据库·程序人生·自动化
该用户已不存在6 分钟前
关于我把Mac Mini托管到机房,后续来了,还有更多玩法
服务器·前端·mac
杰夫贾维斯11 分钟前
CentOS Linux 8 的系统部署 Qwen2.5-7B -Instruct-AWQ
linux·运维·人工智能·机器学习·centos
%d%d233 分钟前
python 在运行时没有加载修改后的版本
java·服务器·python
kfepiza37 分钟前
Netplan 配置网桥(Bridge)的模板笔记250711
linux·tcp/ip·ubuntu
kfepiza1 小时前
用Netplan配置网桥bridge笔记250711
linux·ubuntu·debian
CodeWithMe1 小时前
【Note】Linux Kernel 实时技术深入:详解 PREEMPT_RT 与 Xenomai
linux·运维·服务器
hrrrrb1 小时前
【TCP/IP】11. IP 组播
服务器·网络·tcp/ip
AI迅剑2 小时前
模块三:现代C++工程实践(4篇)第三篇《C++与系统编程:Linux内核模块开发入门》
linux·运维·服务器
A-刘晨阳2 小时前
语音转文字「本地化」新解!Whisper Web+cpolar实现零服务器部署与远程操作
服务器·前端·whisper