Zabbix+分布式数据库TiDB实现分布式数据库监控
- 一、Tidb的简介
- 二、server11环境搭建
- 三、解压并开启tikv(server12、server13、server14)
- 四、server11服务端开启zabbix及tidb
- 五、数据导入(创建TIDB)
一、Tidb的简介
1.什么是TiDB
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
与传统的单机数据库相比,TiDB 具有以下优势:
- 具有丰富的工具链生态,覆盖数据迁移、同步、备份等多种场景
2.TiDB 整体架构
在内核设计上,TiDB 分布式数据库将整体架构拆分成了多个模块,各模块之间互相通信,组成完整的 TiDB 系统。对应的架构图如下:
2.主要模块简介
1) TiDB Server
2) PD Server
3) 存储节点
TiKV Server:
TiFlash
3.实验环境
需要四台虚拟机
节点 | 所安装服务 |
---|---|
server11:172.25.254.21 | zabbix-server mariadb PD1,TiDB |
server12:172.25.254.22 | tikv集群 |
server13:172.25.254.23 | tikv集群 |
二、server11环境搭建
1.zabbix-server服务提前搭建
成功启动
2.mariadb提前部署
3.server11安装配置TiDB
server11下载安装包,解压并后台启用PD
下载TiDB二进制包
[root@westos_student73 file_recv]# wget https://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
[root@westos_student73 file_recv]# scp tidb-latest-linux-amd64.tar.gz server11:
server11开启PD并后台运行
[root@server11 ~]# tar zxf tidb-latest-linux-amd64.tar.gz
[root@server11 ~]# cd tidb-v5.0.1-linux-amd64/
[root@server11 tidb-v5.0.1-linux-amd64]# ls
bin PingCAP Community Software Agreement(Chinese Version).pdf PingCAP Community Software Agreement(English Version).pdf
#开启PD并后台运行
[root@server11 tidb-v5.0.1-linux-amd64]# ./bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://172.25.254.21:2379" --peer-urls="http://172.25.254.21:2380" --initial-cluster="pd1=http://172.25.254.21:2380" --log-file=pd.log &
#查看2379和2380端口是否开放
[root@server11 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep :2379
tcp 0 0 172.25.254.21:2379 0.0.0.0:* LISTEN 14062/./bin/pd-serv
tcp 0 0 172.25.254.21:60982 172.25.254.21:2379 ESTABLISHED 14062/./bin/pd-serv
tcp 0 0 172.25.254.21:60980 172.25.254.21:2379 ESTABLISHED 14062/./bin/pd-serv
tcp 0 0 172.25.254.21:2379 172.25.254.21:60982 ESTABLISHED 14062/./bin/pd-serv
tcp 0 0 172.25.254.21:60990 172.25.254.21:2379 ESTABLISHED 14062/./bin/pd-serv
tcp 0 0 172.25.254.21:2379 172.25.254.21:60990 ESTABLISHED 14062/./bin/pd-serv
tcp 0 0 172.25.254.21:2379 172.25.254.21:60980 ESTABLISHED 14062/./bin/pd-serv
[root@server11 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep :2380
tcp 0 0 172.25.254.21:2380 0.0.0.0:* LISTEN 14062/./bin/pd-serv
[root@server11 tidb-v5.0.1-linux-amd64]#
三、解压并开启tikv(server12、server13、server14)
server12配置
[root@server12 ~]# ls
nginx-1.20.2 nginx-1.20.2.tar.gz tidb-latest-linux-amd64.tar.gz zabbix_proxy.conf
[root@server12 ~]# tar zxf tidb-latest-linux-amd64.tar.gz
[root@server12 ~]# ls
nginx-1.20.2 nginx-1.20.2.tar.gz tidb-latest-linux-amd64.tar.gz tidb-v5.0.1-linux-amd64 zabbix_proxy.conf
[root@server12 ~]# cd tidb-v5.0.1-linux-amd64/
[root@server12 tidb-v5.0.1-linux-amd64]# ls
bin PingCAP Community Software Agreement(Chinese Version).pdf PingCAP Community Software Agreement(English Version).pdf
[root@server12 tidb-v5.0.1-linux-amd64]# ./bin/tikv-server --pd="172.25.254.21:2379" --addr="172.25.254.22:20160" --data-dir=tikv1 --log-file=tikv.log &
[1] 3533
[root@server12 tidb-v5.0.1-linux-amd64]# netstat -antlp
server13配置
[root@server13 ~]# ls
apache-tomcat-8.5.24.tar.gz tidb-latest-linux-amd64.tar.gz
[root@server13 ~]# tar zxf tidb-latest-linux-amd64.tar.gz
[root@server13 ~]# ls
apache-tomcat-8.5.24.tar.gz tidb-latest-linux-amd64.tar.gz tidb-v5.0.1-linux-amd64
[root@server13 ~]# cd tidb-v5.0.1-linux-amd64/
[root@server13 tidb-v5.0.1-linux-amd64]# ls
bin PingCAP Community Software Agreement(Chinese Version).pdf PingCAP Community Software Agreement(English Version).pdf
[root@server13 tidb-v5.0.1-linux-amd64]# ./bin/tikv-server --pd="172.25.254.21:2379" --addr="172.25.254.23:20160" --data-dir=tikv1 --log-file=tikv.log &
[1] 4194
[root@server13 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep tikv
tcp 0 0 127.0.0.1:20180 0.0.0.0:* LISTEN 4194/./bin/tikv-ser
tcp6 0 0 172.25.254.23:20160 :::* LISTEN 4194/./bin/tikv-ser
tcp6 0 0 172.25.254.23:50760 172.25.254.21:2379 ESTABLISHED 4194/./bin/tikv-ser
四、server11服务端开启zabbix及tidb
开启tidb-server服务并打入后台
[root@server11 tidb-v5.0.1-linux-amd64]# ./bin/tidb-server &
[root@server11 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep tidb
tcp6 0 0 :::10080 :::* LISTEN 8198/./bin/tidb-ser
tcp6 0 0 :::4000 :::* LISTEN 8198/./bin/tidb-ser
[root@server11 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep 4000
tcp6 0 0 :::4000 :::* LISTEN 8198/./bin/tidb-ser
[root@server11 tidb-v5.0.1-linux-amd64]#
五、数据导入(创建TIDB)
1.数据库连接tidb
[root@server11 tidb-v5.0.1-linux-amd64]# mysql -h 172.25.254.21 -P 4000 -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-TiDB-v5.0.1 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'westos';
mysql> grant all privileges on *.* to 'zabbix'@'%';
2、给数据库导入数据
将之前mysql导入的zabbix库的数据倒出
[root@server1 zabbix-server-mysql-4.0.5]# mysqldump -uroot -pwestos zabbix >/mnt/zabbix.sql
将备份的数据库导入tidb的数据库中
[root@server1 mnt]# mysql -h 172.25.4.111 -P 4000 -uroot
MySQL [(none)]> use zabbix;
Database changed
MySQL [zabbix]> set tidb_batch_insert=1;
MySQL [zabbix]> source /mnt/zabbix.sql;
3.server11修改配置文件
[root@server11 ~]# vim /etc/zabbix/zabbix_server.conf
DBPort=4000
[root@server11 ~]# cd /etc/zabbix/web/
[root@server11 web]# vim zabbix.conf.php
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '172.25.254.21';
$DB['PORT'] = '4000';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'westos';
重启服务
[root@server11 web]# systemctl restart zabbix-server
[root@server11 web]# systemctl restart zabbix-agent
4、浏览器访问进行测试
此时访问的已经不是mariadb数据库,而是tidb数据库。