TiDB与zabbix的使用

TiDB简介

    TiDB是国内PingCAP团队的一个分布式SQL数据库。它的灵感来自于Google的F1和Google spanner,TiDB支持包括传统RDBMS和NoSQL的特性。TiDB 兼容 MySQL 的系统变量,同时定义了一些特有的系统变量用于调整数据库行为。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议。

与 MySQL 兼容性对比:TiDB 支持包括跨行事务,JOIN 及子查询在内的绝大多数 MySQL 的语法,用户可以直接使用现有的MySQL 客户端连接。如果现有的业务已经基于 MySQL 开发,大多数情况不需要修改代码即可直接替换单机的 MySQL。包括现有的大多数 MySQL 运维工具(如 PHPMyAdmin, Navicat, MySQL Workbench 等),以及备份恢复工具(如 mysqldump, mydumper/myloader)等都可以直接使用。

TiDB特性   

  • 高度兼容 MySQL

    大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。

  • 水平弹性扩展

    通过简单地增加新节点即可实现 TiDB 的水平扩展,按需扩展吞吐或存储,轻松应对高并发、海量数据场景。

  • 分布式事务

    TiDB 100% 支持标准的 ACID 事务。

  • 真正金融级高可用

    相比于传统主从 (M-S) 复制方案,基于 Raft 的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复 (auto-failover),无需人工介入。

  • 一站式 HTAP 解决方案

    TiDB 作为典型的 OLTP 行存数据库,同时兼具强大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP 解决方案,一份存储同时处理 OLTP & OLAP,无需传统繁琐的 ETL 过程。

  • 云原生 SQL 数据库

    TiDB 是为云而设计的数据库,同 Kubernetes 深度耦合,支持公有云、私有云和混合云,使部署、配置和维护变得十分简单。

    TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 TiSpark 项目来完成。

TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。

TiDB 整体架构

要深入了解 TiDB 的水平扩展和高可用特点,首先需要了解 TiDB 的整体架构。

TiDB与zabbix的使用_第1张图片

TiDB 集群主要分为三个组件:

TiDB Server:

TiDB Server 负责接收 SQL 请求,处理 SQL 相关的逻辑,并通过 PD 找到存储计算所需数据的 TiKV 地址,与 TiKV 交互获取数据,最终返回结果。 TiDB Server 是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如LVS、HAProxy 或 F5)对外提供统一的接入地址。

PD Server:

Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个: 一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁移等);三是分配全局唯一且递增的事务 ID。

PD 是一个集群,需要部署奇数个节点,一般线上推荐至少部署 3 个节点。

TiKV Server:

TiKV Server 负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range (从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region 。TiKV 使用 Raft 协议做复制,保持数据的一致性和容灾。副本以 Region 为单位进行管理,不同节点上的多个 Region 构成一个 Raft Group,互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度,这里也是以 Region 为单位进行调度。

 

server1   已经配置好了基于lamp的zabbix  PD1, TiDB

server2  TiKV

 

server1 2  都先解压好

 wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz

wget http://download.pingcap.org/tidb-latest-linux-amd64.sha256

sha256sum -c tidb-latest-linux-amd64.sha256


验证ok代表安装包安全

tar zxf tidb-latest-linux-amd64.tar.gz

cd tidb-latest-linux-amd64

 

server1

./bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://172.25.11.1:2379" --peer-urls="http://172.25.11.1:2380" --initial-cluster="pd1=http://172.25.11.1:2380" --log-file=pd.log &

./bin/tidb-server --store=tikv --path="172.25.11.1:2379"  --log-file=tidb.log &

server2

./bin/tikv-server --pd="172.25.11.1:2379" --addr="172.25.11.2:20160" --data-dir=tikv1 --log-file=tikv.log &

server1

./bin/tidb-server

[root@server1 tidb-latest-linux-amd64]# netstat -antlp | grep 4000
tcp6       0      0 :::4000                 :::*                    LISTEN      2299/./bin/tidb-ser

[root@server1 tidb-latest-linux-amd64]# mysql -h 172.25.11.1 -P4000 -uroot

vim /etc/zabbix/zabbix_server.conf

DBHost=172.25.11.1

DBPort=4000

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -h172.25.11.1 -P4000   zabbix

mysql -h172.25.11.1 -P4000

 

网页连接4000端口

TiDB与zabbix的使用_第2张图片

TiDB与zabbix的使用_第3张图片

TiDB与zabbix的使用_第4张图片

 

 

你可能感兴趣的:(zabbix)