0
点赞
收藏
分享

微信扫一扫

Zabbix+分布式数据库TiDB实现分布式数据库监控

霸姨 2022-02-03 阅读 74

Zabbix+分布式数据库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 具有以下优势:

  1. 具有丰富的工具链生态,覆盖数据迁移、同步、备份等多种场景

2.TiDB 整体架构

在内核设计上,TiDB 分布式数据库将整体架构拆分成了多个模块,各模块之间互相通信,组成完整的 TiDB 系统。对应的架构图如下:

在这里插入图片描述

2.主要模块简介

1) TiDB Server

2) PD Server

3) 存储节点

TiKV Server:

TiFlash

3.实验环境

需要四台虚拟机

节点所安装服务
server11:172.25.254.21zabbix-server mariadb PD1,TiDB
server12:172.25.254.22tikv集群
server13:172.25.254.23tikv集群

二、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数据库。

举报

相关推荐

0 条评论