写点什么

【TiDB 社区第三届专栏征文大赛】TiDB 在单机上模拟部署生产环境集群

  • 2024-05-31
    北京
  • 本文字数:12125 字

    阅读完需:约 40 分钟

原文来源:https://tidb.net/blog/e92cefcd

作者:马顺华

从事运维管理工作多年,目前就职于某科技有限公司,熟悉运维自动化、OceanBase 部署运维、MySQL 运维以及各种云平台技术和产品。并已获得 OceanBase 认证 OBCA、OBCP 证书、OpenGauss 社区认证结业证书、崖山 DBCA 证书、亚信 AntDBCA 证书、翰高 HDCA 认证、GBase 8a|GBase 8c 证书。OceanBase & 墨天轮第二、三、四届技术征文大赛,多次获得 一、二、三 等奖,在 openGauss 第五届、第六届技术征文大赛中多次获奖。时常在墨天轮发布原创技术文章,并多次被首页推荐。


随着 TiDB 社区的蓬勃发展,TiDB 社区迎来了第三届专栏征文大赛。本次大赛旨在分享 TiDB 的最新应用、技术实践及创新思路。本次实验将围绕“TiDB 在单机上模拟部署生产环境集群”这一主题,分享我在此过程中的探索与实践。


                                   ![image.png](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1716622936211.png)
复制代码

一、引言

TiDB 是一个开源的分布式关系型数据库,具备高性能、可扩展、兼容 MySQL 协议等特性,广泛应用于各种业务场景。然而,在实际的生产环境中,TiDB 的部署和运维往往面临着诸多挑战。为了更好地模拟和验证 TiDB 在生产环境的表现,本文将在单机上模拟部署 TiDB 8.0 生产环境集群,在单机上模拟部署生产环境集群,有助于我们更好地了解 TiDB 集群的搭建过程、组件间的交互以及性能调优等方面。此外,通过模拟生产环境,我们可以提前发现并解决可能存在的问题,为真正的生产环境部署做好准备。

以下是参考官网 TiDB 8.0 新特性归纳如下:

1、可扩展性与性能

PD(Placement Driver)微服务化:支持拆分 PD 为微服务,提升集群的可扩展性。(实验特性)批量 DML 执行方式:引入新的 DML 类型,用于高效处理大批量 DML 任务。(实验特性)BR 快照恢复速度提升:通过充分利用集群规模优势,显著提升大规模集群中大数据集的恢复速度。schema 信息缓存稳定性增强:引入新的 schema 缓存系统和优先队列配置,提高多租户应用的稳定性。

2、数据库管理与可观测性

索引使用观测:支持通过新引入的系统表和视图记录索引的使用情况,帮助用户优化索引设计。表默认值表达式支持:支持在 TiDB 建表时使用更多的表达式设置列的默认值。(实验特性)自动统计信息收集优化:引入优先级队列的概念,优先收集健康度较低的表。

3、数据迁移

TiCDC 协议支持:支持 Simple 协议和 Debezium 协议,实现对 schema 信息的动态追踪。

4、高可用

TiProxy 代理组件:TiProxy 代理组件 GA,并已集成到 TiUP 中。

5、SQL 功能

除法运算结果精度控制:支持系统变量 div_precision_increment,用于指定除法运算结果增加的小数位数。PITR 与 S3 对象锁定:PITR 支持 Amazon S3 对象锁定,提升数据安全性和完整性。不可见索引:支持会话级别使用不可见索引,而不影响其他会话。日志管理:支持 general 日志写入独立文件,并支持将历史日志以 gzip 格式压缩。

6、安全性

TiKV 静态加密:TiKV 支持静态加密,提升数据安全。7、版本更新与支持


常规版本更新:针对 LTS 版本,PingCAP 提供最多至 3 年的常规版本更新服务。额外支持服务:在常规版本维护周期结束后,PingCAP 提供 1 年的额外支持服务,专注于严重级别的安全漏洞修复。这些新特性不仅增强了 TiDB 8.0 的性能、可扩展性和安全性,同时也提高了数据库管理和可观测性的能力,为用户提供了更加灵活、可靠和高效的数据库解决方案。

二、部署过程概述

1、环境准备:

首先,我确保了我的服务器满足 TiDB 的硬件要求,并安装了必要的软件和工具。同时,我关闭了防火墙或开放了 TiDB 集群所需的端口。

2、安装 TiUP 工具:

TiUP 是 TiDB 官方提供的一键式部署工具,我按照官方文档的指引成功安装了 TiUP。

3、初始化集群配置:

我使用 TiUP 工具初始化了集群配置,包括设置集群名称、版本、拓扑结构等信息。在单机上模拟生产环境集群时,我配置了多个 TiDB 实例以形成一个伪分布式集群。

4、部署 TiDB 集群:

通过 TiUP 工具,我执行了部署命令并成功搭建了 TiDB 集群。在部署过程中,我遵循了官方文档的指引,并根据提示进行了相应的操作。

5、验证集群状态:

部署完成后,我使用 TiDB 客户端工具登录到 TiDB 实例,并执行了简单的 SQL 语句来验证集群的读写功能是否正常。同时,我也通过 TiUP 工具查看了集群的状态信息,确保所有组件均正常运行。

三、初始化集群配置

1、准备环境

在单机上模拟部署生产环境集群适用场景:希望用单台 Linux 服务器,体验 TiDB 最小的完整拓扑的集群,并模拟生产环境下的部署步骤。本节介绍如何参照 TiUP 最小拓扑的一个 YAML 文件部署 TiDB 集群。


在开始部署之前,我们需要准备一台满足要求的服务器。考虑到 TiDB 的硬件需求,建议选择一台配置较高的服务器,如 8 核 16G 内存以上的服务器。同时,确保服务器操作系统为 CentOS 7.6 及以上版本,并关闭防火墙或开放 TiDB 集群所需的端口。

1.1 下载并安装 TiUP

注意: 下表中拓扑实例的 IP 为示例 IP。在实际部署时,请替换为实际的 IP。


1.2 部署主机软件和环境要求如下:

开始部署 TiDB 集群前,准备一台部署主机,确保其软件满足需求:


[root@worker2 ~]# [root@worker2 ~]# free -h              total        used        free      shared  buff/cache   availableMem:            31G         16G        317M        628K         14G         13GSwap:            0B          0B          0B[root@worker2 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c      8  Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz[root@worker2 ~]# 
复制代码


1.3 部署系统

部署需要使用部署主机的 root 用户及密码推荐安装 CentOS 7.3 及以上版本运行环境可以支持互联网访问,用于下载 TiDB 及相关软件安装包最小规模的 TiDB 集群拓扑包含以下实例:


[root@worker2 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@worker2 ~]# ping www.baidu.comPING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=1 ttl=47 time=4.29 ms64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=2 ttl=47 time=4.32 ms^C--- www.a.shifen.com ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 999msrtt min/avg/max/mdev = 4.296/4.312/4.329/0.067 ms[root@worker2 ~]# 
复制代码


1.4 部署主机关闭防火墙

部署主机关闭防火墙或者开放 TiDB 集群的节点间所需端口


[root@worker2 ~]# [root@worker2 ~]# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)   Active: inactive (dead)     Docs: man:firewalld(1)[root@worker2 ~]# sestatusSELinux status:                 disabled[root@worker2 ~]# 
复制代码


2、下载并安装 TiUP

支持互联网访问下载并安装 TiUP:


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


[root@worker2 tidb]# curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                 Dload  Upload   Total   Spent    Left  Speed100 5152k  100 5152k    0     0  13.4M      0 --:--:-- --:--:-- --:--:-- 13.4MSuccessfully set mirror to https://tiup-mirrors.pingcap.comDetected shell: bashShell profile:  /root/.bash_profileInstalled path: /root/.tiup/bin/tiup===============================================Have a try:     tiup playground===============================================[root@worker2 tidb]# 
复制代码


3、声明全局环境变量:

注意 TiUP 安装完成后会提示对应 Shell profile 文件的绝对路径。在执行以下 source 命令前,需要将 ${your_shell_profile} 修改为 Shell profile 文件的实际位置。


source ${your_shell_profile}


[root@worker2 ~]# [root@worker2 ~]# source /root/.bash_profile[root@worker2 ~]# 
复制代码


4、安装 TiUP 的 cluster 组件:

tiup cluster


[root@worker2 ~]# tiup cluster
A new version of cluster is available: -> v1.15.1
To update this component: tiup update cluster To update all components: tiup update --all
The component `cluster` version is not installed; downloading from repository.download https://tiup-mirrors.pingcap.com/cluster-v1.15.1-linux-amd64.tar.gz 8.76 MiB / 8.76 MiB 100.00% 488.29 MiB/s Deploy a TiDB cluster for production
Usage: 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 Destroy a specified cluster clean (EXPERIMENTAL) Cleanup a specified cluster upgrade Upgrade a specified TiDB cluster display Display information of a TiDB cluster prune Destroy and remove instances that is in tombstone state 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 show-config Show 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 rename Rename the cluster enable Enable a TiDB cluster automatically at boot disable Disable automatic enabling of TiDB clusters at boot replay Replay previous operation and skip successed steps template Print topology template tls Enable/Disable TLS between TiDB components meta backup/restore meta information rotatessh rotate ssh keys on all nodes help Help about any command completion Generate the autocompletion script for the specified shell
Flags: -c, --concurrency int max number of parallel tasks allowed (default 5) --format string (EXPERIMENTAL) The format of output, available values are [default, json] (default "default") -h, --help help for tiup --ssh string (EXPERIMENTAL) The executor type: 'builtin', 'system', 'none'. --ssh-timeout uint 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 uint Timeout in seconds to wait for an operation to complete, ignored for operations that don't fit. (default 120) -y, --yes Skip all confirmations and assumes 'yes'
Use "tiup cluster help [command]" for more information about a command.
复制代码



如果机器已经安装 TiUP cluster,需要更新软件版本:


tiup update --self && tiup update cluster
复制代码

5、设置服务连接数限制

由于模拟多机部署,需要通过 root 用户调大 sshd 服务的连接数限制:


修改 /etc/ssh/sshd_config 将 MaxSessions 调至 20。


[root\@worker2 ~]# vim /etc/ssh/sshd_config



重启 sshd 服务:service sshd restart


[root@worker2 ~]# vim /etc/ssh/sshd_config[root@worker2 ~]# service sshd restartRestarting sshd (via systemctl):                           [  OK  ][root@worker2 ~]# 
复制代码


四、部署 TiDB 集群

通过 TiUP 工具执行部署命令,开始搭建 TiDB 集群。在部署过程中,TiUP 会自动下载所需的软件安装包并进行配置。我们只需按照提示进行操作即可。

1、创建并启动集群

按下面的配置模板,编辑配置文件,命名为 topo.yaml 其中:user: “tidb”:表示通过 tidb 系统用户(部署会自动创建)来做集群的内部管理,默认使用 22 端口通过 ssh 登录目标机器 replication.enable-placement-rules:设置这个 PD 参数来确保 TiFlash 正常运行 host:设置为本部署主机的 IP 配置模板如下:


[root@worker2 ~]# vim topo.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: 22 deploy_dir: "/data/tidb-deploy" data_dir: "/data/tidb-data"
# # Monitored variables are applied to all the machines.monitored: node_exporter_port: 9100 blackbox_exporter_port: 9115
server_configs: tidb: instance.tidb_slow_log_threshold: 300 tikv: readpool.storage.use-unified-pool: false readpool.coprocessor.use-unified-pool: true pd: replication.enable-placement-rules: true replication.location-labels: ["host"] tiflash: logger.level: "info"
pd_servers: - host: 172.22.2.122
tidb_servers: - host: 172.22.2.122
tikv_servers: - host: 172.22.2.122 port: 20160 status_port: 20180 config: server.labels: { host: "logic-host-1" }
- host: 172.22.2.122 port: 20161 status_port: 20181 config: server.labels: { host: "logic-host-2" }
- host: 172.22.2.122 port: 20162 status_port: 20182 config: server.labels: { host: "logic-host-3" }
tiflash_servers: - host: 172.22.2.122
monitoring_servers: - host: 172.22.2.122
grafana_servers: - host: 172.22.2.122
复制代码


2、执行集群部署命令:

tiup cluster deploy tidb666 v8.0.0 ./topo.yaml –user root -p


[root@worker2 ~]# tiup cluster deploy tidb666 v8.0.0 ./topo.yaml --user root -pChecking updates for component cluster... Timedout (after 2s)Input SSH password: 
+ Detect CPU Arch Name - Detecting node 172.22.2.122 Arch info ... Done
+ Detect CPU OS Name - Detecting node 172.22.2.122 OS info ... DonePlease confirm your topology:Cluster type: tidbCluster name: tidb666Cluster version: v8.0.0Role Host Ports OS/Arch Directories---- ---- ----- ------- -----------pd 172.22.2.122 2379/2380 linux/x86_64 /tidb-deploy/pd-2379,/tidb-data/pd-2379tikv 172.22.2.122 20160/20180 linux/x86_64 /tidb-deploy/tikv-20160,/tidb-data/tikv-20160tikv 172.22.2.122 20161/20181 linux/x86_64 /tidb-deploy/tikv-20161,/tidb-data/tikv-20161tikv 172.22.2.122 20162/20182 linux/x86_64 /tidb-deploy/tikv-20162,/tidb-data/tikv-20162tidb 172.22.2.122 4000/10080 linux/x86_64 /tidb-deploy/tidb-4000tiflash 172.22.2.122 9000/8123/3930/20170/20292/8234 linux/x86_64 /tidb-deploy/tiflash-9000,/tidb-data/tiflash-9000prometheus 172.22.2.122 9090/12020 linux/x86_64 /tidb-deploy/prometheus-9090,/tidb-data/prometheus-9090grafana 172.22.2.122 3000 linux/x86_64 /tidb-deploy/grafana-3000Attention: 1. If the topology is not what you expected, check your yaml file. 2. Please confirm there is no port/directory conflicts in same host.
复制代码



参数 tidb666 表示设置实验集群名称


参数 v8.0.0 表示设置集群版本。可以通过 tiup list tidb 命令来查看当前支持部署的 TiDB 版本


参数 -p 表示在连接目标机器时使用密码登录


注意如果主机通过密钥进行 SSH 认证,请使用 -i 参数指定密钥文件路径,-i 与 -p 不可同时使用。


按照引导,输入”y”及 root 密码,来完成部署:


Do you want to continue? [y/N]:  yInput SSH password:
复制代码



此处执行安装报错


+ Deploy TiDB instance  - Copy pd -> 172.22.2.122 ... Error  - Copy tikv -> 172.22.2.122 ... Error  - Copy tikv -> 172.22.2.122 ... Error  - Copy tikv -> 172.22.2.122 ... Error  - Copy tidb -> 172.22.2.122 ... Error  - Copy tiflash -> 172.22.2.122 ... Error  - Copy prometheus -> 172.22.2.122 ... Error  - Copy grafana -> 172.22.2.122 ... Error  - Deploy node_exporter -> 172.22.2.122 ... Error  - Deploy blackbox_exporter -> 172.22.2.122 ... Error
Error: executor.ssh.execute_failed: Failed to execute command over SSH for 'tidb@172.22.2.122:22' {ssh_stderr: , ssh_stdout: , ssh_command: export LANG=C; PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin; /usr/bin/sudo -H bash -c "test -d /data || (mkdir -p /data && chown tidb:$(id -g -n tidb) /data)"}, cause: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
Verbose debug logs has been written to /root/.tiup/logs/tiup-cluster-debug-2024-05-24-18-28-07.log.
复制代码


解决办法手动配置 SSH 互信及 sudo 免密码

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

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

useradd tidb && passwd tidb


[root@worker2 tidb]# useradd tidb && passwd tidbChanging password for user tidb.New password: Retype new password: passwd: all authentication tokens updated successfully.[root@worker2 tidb]# 
复制代码


02. 执行以下命令,将 tidb ALL=(ALL) NOPASSWD: ALL 添加到文件末尾,即配置好 sudo 免密码。
[root@worker2 tidb]# vim /etc/sudoers
visudotidb ALL=(ALL) NOPASSWD: ALL
复制代码


03. 以 tidb 用户登录到中控机,执行以下命令。

将 172.22.2.122 替换成你的部署目标机器 IP,按提示输入部署目标机器 tidb 用户密码,执行成功后即创建好 SSH 互信,其他机器同理。新建的 tidb 用户下没有 .ssh 目录,需要执行生成 rsa 密钥的命令来生成 .ssh 目录。如果要在中控机上部署 TiDB 组件,需要为中控机和中控机自身配置互信。


ssh-keygen -t rsassh-copy-id -i ~/.ssh/id_rsa.pub 172.22.2.122


[root@worker2 tidb]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsaYour public key has been saved in /root/.ssh/id_rsa.pubThe key fingerprint is:SHA256:uBngQqfx3RycRHfXLuBGb49IVl/nMsYqd53We8962VI root@worker2The key's randomart image is:+---[RSA 3072]----+|       .o . . .. ||       o o .o.. +||  o o   +  o = +o|| . * o + .  = O +||  o o + S  + = Bo||   .   +  . + ooE||      o    o ...+||              .++||              .+=|+----[SHA256]-----+[root@worker2 tidb]# 
复制代码


3、再次 执行集群部署命令:

tiup cluster deploy tidb666 v8.0.0 ./topo.yaml –user root -p


[root@worker2 tidb]# tiup cluster deploy tidb666 v8.0.0 ./topo.yaml --user root -pInput SSH password: 
+ Detect CPU Arch Name - Detecting node 172.22.2.122 Arch info ... Done
+ Detect CPU OS Name - Detecting node 172.22.2.122 OS info ... DonePlease confirm your topology:Cluster type: tidbCluster name: tidb666Cluster version: v8.0.0Role Host Ports OS/Arch Directories---- ---- ----- ------- -----------pd 172.22.2.122 2379/2380 linux/x86_64 /data/tidb-deploy/pd-2379,/data/tidb-data/pd-2379tikv 172.22.2.122 20160/20180 linux/x86_64 /data/tidb-deploy/tikv-20160,/data/tidb-data/tikv-20160tikv 172.22.2.122 20161/20181 linux/x86_64 /data/tidb-deploy/tikv-20161,/data/tidb-data/tikv-20161tikv 172.22.2.122 20162/20182 linux/x86_64 /data/tidb-deploy/tikv-20162,/data/tidb-data/tikv-20162tidb 172.22.2.122 4000/10080 linux/x86_64 /data/tidb-deploy/tidb-4000tiflash 172.22.2.122 9000/8123/3930/20170/20292/8234 linux/x86_64 /data/tidb-deploy/tiflash-9000,/data/tidb-data/tiflash-9000prometheus 172.22.2.122 9090/12020 linux/x86_64 /data/tidb-deploy/prometheus-9090,/data/tidb-data/prometheus-9090grafana 172.22.2.122 3000 linux/x86_64 /data/tidb-deploy/grafana-3000Attention: 1. If the topology is not what you expected, check your yaml file. 2. Please confirm there is no port/directory conflicts in same host.Cluster `tidb666` deployed successfully, you can start it with command: `tiup cluster start tidb666 --init`
复制代码



这次部署成功了

五、验证集群状态

部署完成后,我们需要验证 TiDB 集群的状态是否正常。可以使用 TiDB 客户端工具登录到 TiDB 实例,并执行一些简单的 SQL 语句来验证集群的读写功能是否正常。同时,我们还可以通过 TiUP 工具查看集群的状态信息,确保所有组件均正常运行。

1、启动集群:

tiup cluster start tidb666
复制代码


[root@worker2 tidb]# tiup cluster start tidb666Checking updates for component cluster... Timedout (after 2s)Starting cluster tidb666...+ [ Serial ] - SSHKeySet: privateKey=/root/.tiup/storage/cluster/clusters/tidb666/ssh/id_rsa, publicKey=/root/.tiup/storage/cluster/clusters/tidb666/ssh/id_rsa.pub+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [Parallel] - UserSSH: user=tidb, host=172.22.2.122+ [ Serial ] - StartClusterStarting component pd        Starting instance 172.22.2.122:2379        Start instance 172.22.2.122:2379 successStarting component tikv        Starting instance 172.22.2.122:20162        Starting instance 172.22.2.122:20160        Starting instance 172.22.2.122:20161        Start instance 172.22.2.122:20161 success        Start instance 172.22.2.122:20162 success        Start instance 172.22.2.122:20160 successStarting component tidb        Starting instance 172.22.2.122:4000        Start instance 172.22.2.122:4000 successStarting component tiflash        Starting instance 172.22.2.122:9000        Start instance 172.22.2.122:9000 successStarting component prometheus        Starting instance 172.22.2.122:9090        Start instance 172.22.2.122:9090 successStarting component grafana        Starting instance 172.22.2.122:3000        Start instance 172.22.2.122:3000 successStarting component node_exporter        Starting instance 172.22.2.122        Start 172.22.2.122 successStarting component blackbox_exporter        Starting instance 172.22.2.122        Start 172.22.2.122 success+ [ Serial ] - UpdateTopology: cluster=tidb666Started cluster `tidb666` successfully[root@worker2 tidb]# 
复制代码


2、访问集群:

使用 MySQL 客户端访问 TiDB 数据库,密码为空:


mysql -h 172.22.2.122 -P 4000 -u root


[root@worker2 tidb]# mysql -h 172.22.2.122 -P 4000 -u rootWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1977614340Server version: 8.0.11-TiDB-v8.0.0 TiDB Server (Apache License 2.0) Community Edition, MySQL 8.0 compatible
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
复制代码


3、访问 TiDB 的 Grafana 监控:

通过 http://{grafana-ip}:3000 访问集群 Grafana 监控页面,默认用户名和密码均为 admin。


http://172.22.2.122:3000/?orgId=1
复制代码


4、访问 TiDB 的 Dashboard:

通过 http://{pd-ip}:2379/dashboard 访问集群 TiDB Dashboard 监控页面,默认用户名为 root,密码为空。


http://172.22.2.122:2379/dashboard/#/overview
复制代码


5、执行以下命令确认当前已经部署的集群列表:

tiup cluster list


[root@worker2 ~]# tiup cluster listName     User  Version  Path                                          PrivateKey----     ----  -------  ----                                          ----------tidb666  tidb  v8.0.0   /root/.tiup/storage/cluster/clusters/tidb666  /root/.tiup/storage/cluster/clusters/tidb666/ssh/id_rsa[root@worker2 ~]# 
复制代码


6、执行以下命令查看集群的拓扑结构和状态:

tiup cluster display tidb666


[root@worker2 ~]# tiup cluster display tidb666Cluster type:       tidbCluster name:       tidb666Cluster version:    v8.0.0Deploy user:        tidbSSH type:           builtinDashboard URL:      http://172.22.2.122:2379/dashboardGrafana URL:        http://172.22.2.122:3000ID                  Role        Host          Ports                            OS/Arch       Status   Data Dir                         Deploy Dir--                  ----        ----          -----                            -------       ------   --------                         ----------172.22.2.122:3000   grafana     172.22.2.122  3000                             linux/x86_64  Up       -                                /data/tidb-deploy/grafana-3000172.22.2.122:2379   pd          172.22.2.122  2379/2380                        linux/x86_64  Up|L|UI  /data/tidb-data/pd-2379          /data/tidb-deploy/pd-2379172.22.2.122:9090   prometheus  172.22.2.122  9090/12020                       linux/x86_64  Up       /data/tidb-data/prometheus-9090  /data/tidb-deploy/prometheus-9090172.22.2.122:4000   tidb        172.22.2.122  4000/10080                       linux/x86_64  Up       -                                /data/tidb-deploy/tidb-4000172.22.2.122:9000   tiflash     172.22.2.122  9000/8123/3930/20170/20292/8234  linux/x86_64  Up       /data/tidb-data/tiflash-9000     /data/tidb-deploy/tiflash-9000172.22.2.122:20160  tikv        172.22.2.122  20160/20180                      linux/x86_64  Up       /data/tidb-data/tikv-20160       /data/tidb-deploy/tikv-20160172.22.2.122:20161  tikv        172.22.2.122  20161/20181                      linux/x86_64  Up       /data/tidb-data/tikv-20161       /data/tidb-deploy/tikv-20161172.22.2.122:20162  tikv        172.22.2.122  20162/20182                      linux/x86_64  Up       /data/tidb-data/tikv-20162       /data/tidb-deploy/tikv-20162Total nodes: 8[root@worker2 ~]#
复制代码


总结

通过本次在单机上模拟部署生产环境集群的探索与实践,我们深入了解了 TiDB 的部署和运维过程,并对 TiDB 的性能和稳定性有了更深刻的认识。未来,我将继续探索 TiDB 的学习应用和创新实践,为 TiDB 社区的发展贡献自己的力量。同时,我也期待更多的开发者能够加入 TiDB 社区,共同推动 TiDB 的发展和创新。


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
【TiDB 社区第三届专栏征文大赛】TiDB 在单机上模拟部署生产环境集群_版本测评_TiDB 社区干货传送门_InfoQ写作社区