暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

离线部署TiDB 8.1.0 集群

原创 拨开乌云见阳光 2024-05-24
2106

一、惊喜!TiDB又出新版本了,而且是长期支持版

1、得知TiDB新版本的消息

今天下班时,看到“TiDB 社区东北大本营”微信群中的消息:“TiDB 8.1.0 LTS 发版啦!”

真是让人惊喜,TiDB这么快就出新的LTS版本了,于是查了一下TiDB官网的信息,内容截取如下:


由以上官网说明可知,TiDB 8.1.0 是长期支持版本 (LTS)。它包含 7.6.0-DMR 和 8.0.0-DMR 版本中已发布的新功能,并做了提升和改进,以及错误修复。

TiDB的版本迭代更新如此之快,足见其雄厚的技术积累和茁壮的发展势头。能长期在国产数据库排行榜上名列前茅,确实是有技术实力的。


2、TiDB在国产数据库的排名情况

截取了本月墨天轮国产数据库排行榜的前12名,TiDB稳居第4,如下:


从墨天轮国产数据库排行榜,也可以看到TiDB从2020年1月~2022年11月,将近三年的时间里,基本一直名列国产数据库排行榜的榜首。

之后,随着各个国产数据库厂家在技术和市场上的百花齐放、百舸争流,国产数据库排行榜的头把交椅,也几易其主,但TiDB以其实力,一直保持在前五强之列。


3、TiDB在全球数据库的排名情况

随后,我又查看了TiDB在本月全球数据库的排行情况,如下:


TiDB本月全球排名前70,比上月又向上攀登了两级。如果我没看错的话,在全球数据库排行榜上,TiDB是排行最靠前的国产数据库产品。

由此可见TiDB越来越得到了海外市场的认可,其表现是相当的优异!

下班回到家后,带着喜悦和尝鲜的心情,尝试安装了这个最新的TiDB 8.1.0社区版。以下是安装过程记录。


二、离线部署TiDB 8.1.0 社区版集群环境

1、安装环境准备

在本地创建一台用于部署TiDB集群的虚拟机,根据官网推荐CentOS 7.3 及以上版本。

因此虚拟机,分配内存8GB,IP配置为192.168.20.176,并安装了CentOS 7.6,如下:




2、规划TiDB集群拓扑

实例个数
PD1
TiKV3
TiDB1
TiFlash1
Monitor1


3、关闭防火墙

systemctl stop firewalld

systemctl disable firewalld


4、由于模拟多机部署,因此需要调大 sshd 服务的连接数限制

修改 /etc/ssh/sshd_config 将 MaxSessions参数调至 20。
重启 sshd 服务:service sshd restart


5、创建部署用户并配置免密码登录

adduser tidb
passwd tidb

visudo

加入以下内容:

tidb ALL=(ALL) NOPASSWD: ALL


6、创建目录并设置属主

mkdir -p /data
chown -R tidb:tidb /data


7、创建 tidb 用户ssh key

su - tidb
ssh-keygen -t rsa


8、下载离线安装包

下载地址 https://cn.pingcap.com/product-community/


需要同时下载 TiDB-community-server 软件包和 TiDB-community-toolkit 软件包。

tidb-community-server-v8.1.0-linux-amd64.tar.gz

tidb-community-toolkit-v8.1.0-linux-amd64.tar.gz


9、上传安装包并解压安装

su - tidb
tar -zxvf tidb-community-server-v8.1.0-linux-amd64.tar.gz
tar -zxvf tidb-community-toolkit-v8.1.0-linux-amd64.tar.gz
cd tidb-community-server-v8.1.0-linux-amd64
sh local_install.sh


10、生效tidb的环境变量

source ~/.bash_profile


11、合并离线包

将 TiDB-community-server 软件包和 TiDB-community-toolkit 软件包合并到离线镜像中。
cd tidb-community-server-v8.1.0-linux-amd64
cp -rp keys ~/.tiup/
tiup mirror merge ../tidb-community-toolkit-v8.1.0-linux-amd64


12、验证TiDB的安装镜像已经在本地目录



13、配置TiDB集群拓扑文件

vi topo.yaml

global:
user: "tidb"
ssh_port: 22
deploy_dir: "/data/tidb-deploy"
data_dir: "/data/tidb-data"
listen_host: 0.0.0.0
arch: "amd64"

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: 192.168.20.176
name: "pd-1"
client_port: 2379
peer_port: 2380
deploy_dir: "/data/tidb-deploy/pd-2379"
data_dir: "/data/tidb-data/pd-2379"
log_dir: "/data/tidb-deploy/pd-2379/log"

tidb_servers:
- host: 192.168.20.176
port: 4000
status_port: 10080
deploy_dir: "/data/tidb-deploy/tidb-4000"
log_dir: "/data/tidb-deploy/tidb-4000/log"

tikv_servers:
- host: 192.168.20.176
port: 20161
status_port: 20181
deploy_dir: "/data/tidb-deploy/tikv-20161"
data_dir: "/data/tidb-data/tikv-20161"
log_dir: "/data/tidb-deploy/tikv-20161/log"
config:
server.labels: { host: "logic-host-1" }

- host: 192.168.20.176
port: 20162
status_port: 20182
deploy_dir: "/data/tidb-deploy/tikv-20162"
data_dir: "/data/tidb-data/tikv-20162"
log_dir: "/data/tidb-deploy/tikv-20162/log"
config:
server.labels: { host: "logic-host-2" }

- host: 192.168.20.176
port: 20163
status_port: 20183
deploy_dir: "/data/tidb-deploy/tikv-20163"
data_dir: "/data/tidb-data/tikv-20163"
log_dir: "/data/tidb-deploy/tikv-20163/log"
config:
server.labels: { host: "logic-host-3" }

tiflash_servers:
- host: 192.168.20.176
tcp_port: 9000
flash_service_port: 3930
flash_proxy_port: 20170
flash_proxy_status_port: 20292
metrics_port: 8234
deploy_dir: /data/tidb-deploy/tiflash-9000
data_dir: /data/tidb-data/tiflash-9000
log_dir: /data/tidb-deploy/tiflash-9000/log

monitoring_servers:
- host: 192.168.20.176
port: 9090
ng_port: 12020
deploy_dir: "/data/tidb-deploy/prometheus-9090"
data_dir: "/data/tidb-data/prometheus-9090"
log_dir: "/data/tidb-deploy/prometheus-9090/log"

grafana_servers:
- host: 192.168.20.176
port: 3000
deploy_dir: /data/tidb-deploy/grafana-3000
dashboard_dir: /home/tidb/dashboards

alertmanager_servers:
- host: 192.168.20.176
web_port: 9093
cluster_port: 9094
deploy_dir: "/data/tidb-deploy/alertmanager-9093"
data_dir: "/data/tidb-data/alertmanager-9093"
log_dir: "/data/tidb-deploy/alertmanager-9093/log"


14、检查是否满足TiDB集群安装要求

tiup cluster check ./topo.yaml --user tidb -p

检查结果中,pass和warning是可以接受的,fail项则需要进行修改。


15、执行TiDB集群部署


以上部署命令,在执行成功完成后,显示如下信息:



16、查看当前已经部署的集群列表



17、启动TiDB集群

执行命令:
tiup cluster start tidb-cluster1 --init

启动过程的主要输出信息,截图如下:



成功启动后,显示如下信息:



18、查看集群的拓扑结构和状态


至此,完成了TiDB  8.1.0 集群的部署和启动,整个过程很顺畅,大约用了10多分钟。


19、通过Dashboard监测TiDB集群

通过浏览器访问 http://192.168.20.176:2379/dashboard

默认用户名为 root,密码为集群初始化启动时,系统给出的密码。


可以看到通过dashboard,可以对TiDB集群进行多方位的监测。

在概览界面,可以监测TiDB集群的QPS、延迟、CPU使用率、内存和IO使用情况。

在dashboard界面的左侧,还可以对TiDB的集群信息、Top SQL、慢查询等进行查看。基本满足了对数据库集群的监控需求。


三、通过客户端访问TiDB数据库

1、通过 MySQL客户端访问 TiDB 数据库:

(1)首先安装 MySQL 客户端:yum -y install mysql


(2)然后通过 MySQL 客户端登录TiDB数据库:
mysql -h 192.168.20.176 -P 4000 -u root -p



2、通过DBeaver图形客户端访问TiDB 数据库:

(1)启动DBeaver客户端程序


(2)新建立数据库连接

点击“数据库”菜单中的“新建数据库连接”,如下所示:


在数据库驱动程序列表中,找到TiDB,如下所示:


(3)输入TiDB数据库的相关信息

输入数据库主机IP、默认端口号4000、用户名root、并输入登录密码,如下所示:


(4)测试连接

在输入完成TiDB数据库的相关信息后,点击左下层的“测试连接”按钮,成功连接,则显示如下提示框:


(5)保存连接

DBeaver成功连接到TiDB数据库后,界面如下:


此时,就可以通过DBeaver图形客户端,对TiDB数据库进行访问和操作了。


四、停止TiDB集群的运行


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论