当前位置:网站首页>Zabbix + Distributed Database tidb Implementation of Distributed Database Monitoring
Zabbix + Distributed Database tidb Implementation of Distributed Database Monitoring
2022-07-21 23:51:00 【Plus ou moins de différence】
Zabbix+Base de données distribuéeTiDBRéaliser la surveillance distribuée des bases de données
Un.、TidbIntroduction à
1.Qu'est - ce queTiDB
TiDB - Oui. PingCAP Conception indépendante de l'entreprise、Base de données relationnelle distribuée à source ouverte,Est un support pour le traitement des transactions en ligne et le traitement analytique en ligne (Hybrid Transactional and Analytical Processing, HTAP) Produit de base de données distribuée basé sur la fusion,Capacité d'expansion ou de réduction horizontale、Haute disponibilité financière、En temps réel HTAP、Base de données distribuée Native Cloud、Compatible avec MySQL 5.7 Accord et MySQL Caractéristiques écologiques et autres caractéristiques importantes.L'objectif est de fournir aux utilisateurs un guichet unique OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP Solutions.TiDB Convient pour une grande disponibilité、Exigences élevées en matière de cohérence、Divers scénarios d'application tels que des données à grande échelle.
Par rapport aux bases de données autonomes traditionnelles,TiDB Avantages:
1)Architecture distribuée pure,Bonne extensibilité,Extensibilité supportant l'élasticité
2)Soutien SQL,Exposition externe MySQL Protocole réseau pour,Et compatible avec la plupart des MySQL Syntaxe de,Peut être remplacé directement dans la plupart des scénarios MySQL
3)La haute disponibilité est prise en charge par défaut,En cas de défaillance de quelques exemplaires,La base de données elle - même est capable de réparer et de FAILOVER automatiquement les données,Transparence des opérations
4)Soutien ACID Services,Convivialité pour certains scénarios avec des exigences fortement cohérentes,Par exemple:Virement bancaire
- Riche écologie de la chaîne d'outils,écraser la migration des données、Synchroniser、Sauvegarde et autres scénarios
2.TiDB Structure générale
Dans la conception du noyau,TiDB La base de données distribuée divise l'architecture globale en plusieurs modules,Communication entre les modules,Composition complète TiDB Système.Le schéma correspondant est le suivant::
2.Introduction aux principaux modules
1) TiDB Server
TiDB Server:SQL Couche,Exposition externe MySQL Connexion au Protocole endpoint,Responsable de l'acceptation des connexions des clients,Mise en œuvre SQL Analyse et optimisation,Générer un plan d'exécution distribué final.TiDB La couche elle - même est apatride,Plusieurs peuvent être lancés dans la pratique TiDB Exemple,Par le composant d'équilibrage de charge(Par exemple: LVS、HAProxy Ou F5)Fournir une adresse d'accès unifiée à l'extérieur,Les connexions des clients peuvent être réparties uniformément entre plusieurs TiDB Par exemple, pour atteindre l'effet d'équilibrage de la charge.TiDB Server Les données elles - mêmes ne sont pas stockées,C'est une analyse. SQL,Transmettre la demande réelle de lecture de données au noeud de stockage sous - jacent TiKV(Ou TiFlash).
2) PD Server
PD (Placement Driver) Server:Tout TiDB Module de gestion de la méta - information du cluster,Responsable du stockage de chaque TiKV Distribution des données en temps réel des noeuds et topologie globale du cluster,Offre TiDB Dashboard Interface de contrôle,Et assigner des transactions aux transactions distribuées ID.PD Non seulement les méta - informations sont stockées,Et selon TiKV État de la distribution des données des noeuds soumis en temps réel,Envoyer une commande de programmation de données à un TiKV Noeud,On peut dire que c'est tout le cluster.“Le cerveau.”.En outre,PD En soi, c'est au moins 3 Composition des noeuds,Capacité de haute disponibilité.Nombre impair recommandé PD Noeud.
3) Noeuds de stockage
TiKV Server:
Responsable du stockage des données,Vue de l'extérieur TiKV Est une transaction distribuée Key-Value Moteur de stockage.L'Unit é de base pour stocker les données est Region,Chaque Region Responsable du stockage d'un Key Range(De StartKey À EndKey Fermeture à gauche et ouverture à droite)Données,Chaque TiKV Le noeud est responsable de plusieurs Region.TiKV De API In KV Les valeurs clés fournissent un soutien natif aux transactions distribuées au niveau de la couche,Par défaut SI (Snapshot Isolation) Niveau d'isolement pour,Et ça aussi. TiDB In SQL Le niveau soutient le noyau des transactions distribuées.TiDB De SQL Couche terminée. SQL Après analyse,Oui. SQL Le plan d'exécution pour TiKV API Appel réel de.Alors...,Les données sont stockées dans TiKV Moyenne.En plus,TiKV Les données sont automatiquement conservées en plusieurs copies(Par défaut à trois copies),Support naturel pour une disponibilité élevée et un FAILOVER automatique.
TiFlash
TiFlash Est une classe spéciale de noeuds de stockage.Et fréquent TiKV Les noeuds sont différents,In TiFlash Interne,Les données sont stockées en colonnes,La fonction principale est d'accélérer les scénarios analytiques
3.Environnement expérimental
Quatre machines virtuelles sont nécessaires
Noeud | Services installés |
---|---|
server11:172.25.254.21 | zabbix-server mariadb PD1,TiDB |
server12:172.25.254.22 | tikvCluster |
server13:172.25.254.23 | tikvCluster |
2.、server11Construction de l'environnement
1.zabbix-serverService construit à l'avance
Démarrage réussi
2.mariadbDéploiement anticipé
3.server11Configuration de l'installationTiDB
server11Télécharger le paquet d'installation, Décompresser et activer l'arrière - plan PD
TéléchargerTiDBPaquet binaire
[[email protected]_student73 file_recv]# wget https://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
[[email protected]_student73 file_recv]# scp tidb-latest-linux-amd64.tar.gz server11:
server11OuvertPDEt en arrière - plan
[[email protected] ~]# tar zxf tidb-latest-linux-amd64.tar.gz
[[email protected] ~]# cd tidb-v5.0.1-linux-amd64/
[[email protected] tidb-v5.0.1-linux-amd64]# ls
bin PingCAP Community Software Agreement(Chinese Version).pdf PingCAP Community Software Agreement(English Version).pdf
#OuvertPDEt en arrière - plan
[[email protected] 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 &
#Voir2379Et2380Si le port est ouvert
[[email protected] 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
[[email protected] 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
[[email protected] tidb-v5.0.1-linux-amd64]#
Trois、Décompresser et ouvrirtikv(server12、server13、server14)
server12Configuration
[[email protected] ~]# ls
nginx-1.20.2 nginx-1.20.2.tar.gz tidb-latest-linux-amd64.tar.gz zabbix_proxy.conf
[[email protected] ~]# tar zxf tidb-latest-linux-amd64.tar.gz
[[email protected] ~]# 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
[[email protected] ~]# cd tidb-v5.0.1-linux-amd64/
[[email protected] tidb-v5.0.1-linux-amd64]# ls
bin PingCAP Community Software Agreement(Chinese Version).pdf PingCAP Community Software Agreement(English Version).pdf
[[email protected] 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
[[email protected] tidb-v5.0.1-linux-amd64]# netstat -antlp
server13Configuration
[[email protected] ~]# ls
apache-tomcat-8.5.24.tar.gz tidb-latest-linux-amd64.tar.gz
[[email protected] ~]# tar zxf tidb-latest-linux-amd64.tar.gz
[[email protected] ~]# ls
apache-tomcat-8.5.24.tar.gz tidb-latest-linux-amd64.tar.gz tidb-v5.0.1-linux-amd64
[[email protected] ~]# cd tidb-v5.0.1-linux-amd64/
[[email protected] tidb-v5.0.1-linux-amd64]# ls
bin PingCAP Community Software Agreement(Chinese Version).pdf PingCAP Community Software Agreement(English Version).pdf
[[email protected] 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
[[email protected] 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
Quatre、server11Ouverture du serveurzabbixEttidb
Ouverttidb-server Servir et entrer dans les coulisses
[[email protected] tidb-v5.0.1-linux-amd64]# ./bin/tidb-server &
[[email protected] 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
[[email protected] tidb-v5.0.1-linux-amd64]# netstat -antlp | grep 4000
tcp6 0 0 :::4000 :::* LISTEN 8198/./bin/tidb-ser
[[email protected] tidb-v5.0.1-linux-amd64]#
Cinq、Importation de données(CréationTIDB)
1.Connexion à la base de donnéestidb
[[email protected] 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、Importer des données dans la base de données
AvantmysqlImportézabbix Echappement des données de la Bibliothèque , Cette étape est de s'assurer que vous avez déjà créé zabbixBase de données.
[[email protected] zabbix-server-mysql-4.0.5]# mysqldump -uroot -pwestos zabbix >/mnt/zabbix.sql
Importer la base de données sauvegardéetidbDans la base de données de
[[email protected] 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.server11Modifier le profil
[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf
DBPort=4000
[[email protected] ~]# cd /etc/zabbix/web/
[[email protected] 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';
Redémarrer le Service
[[email protected] web]# systemctl restart zabbix-server
[[email protected] web]# systemctl restart zabbix-agent
4、Accès au navigateur pour les tests
Ce n'est plus mariadbBase de données,Mais...tidbBase de données.
边栏推荐
- [common interview questions of network protocol]
- About the solution of "indentation error: unindent does not match any outside indentation level"
- How to write the use case of APP login function?
- How to write use cases when uploading files?
- win7系统忘记登录密码怎么办?(不用启动盘情况下)
- Real questions and answers of the latest written test for software testing engineers in 2022 (Sohu, Huawei, langang online)
- In a word, how to measure the demand
- SQL | null value and SQL count() function
- Architecture lamp - routeur MySQL (séparateur lecture - écriture)
- Realize information exchange between pages
猜你喜欢
JMeter之JDBC连接/操作数据库
Variable usage method of BeanShell of JMeter
【软件测试模型进化】
Postman's body reports the solution of "expected" and "instead of" P "
10061 unknown error error is reported when connecting to the previously available MySQL database
Lamp Architecture - MySQL high availability switching (MHA high availability)
[software test model evolution]
WebService (soap) request of JMeter
JMeter之WebService(soap)请求
Follow the guidelines and improve yourself quickly: how to quickly turn functional testing to automated testing
随机推荐
LR load
view
Sorting out the basic knowledge points of test engineers
Page redirection
Importance of database monitoring
LAMP架构——mysql路由器(读写分离器)
How can app testing ensure multi model coverage?
JMeter's BeanShell generates random Chinese characters
LVS的不足之处及第四种转发类型FULLNAT
Interface test (1)
搭建服务器内网yum仓库
LVM磁盘多分区扩容(fdisk,vgdata,lvdata,df,resize2fs,lvextend,partprobe)
软件测试面试题与答案【一】
JMeter saves test process data in page form
Centos7 configuring MySQL multiple instances
JDBC access database
MySQL学习笔记
软件测试常问面试题【三】
Use case exercise 1
Day03 test case knowledge points summary (Part 2)