zabbix 与tidb的部署

本文介绍了TiDB的分布式数据库架构,包括其无状态的TiDB Server、元信息管理的PD Server以及存储节点TiKV和TiFlash。接着展示了在实验环境中部署Zabbix监控的步骤,如数据库初始化、TiDB的启动和连接设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 看tidb的架构与介绍

TiDB 整体架构 | PingCAP Docs了解 TiDB 的整体架构。https://docs.pingcap.com/zh/tidb/v4.0/tidb-architecture简介

           TiDBPingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景

架构图

 

组件

  • TiDB Server:SQL 层,对外暴露 MySQL 协议的连接 endpoint,负责接受客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,实践中可以启动多个 TiDB 实例,通过负载均衡组件(如 LVS、HAProxy 或 F5)对外提供统一的接入地址,客户端的连接可以均匀地分摊在多个 TiDB 实例上以达到负载均衡的效果。TiDB Server 本身并不存储数据,只是解析 SQL,将实际的数据读取请求转发给底层的存储节点 TiKV(或 TiFlash)。

  • PD (Placement Driver) Server:整个 TiDB 集群的元信息管理模块,负责存储每个 TiKV 节点实时的数据分布情况和集群的整体拓扑结构,提供 TiDB Dashboard 管控界面,并为分布式事务分配事务 ID。PD 不仅存储元信息,同时还会根据 TiKV 节点实时上报的数据分布状态,下发数据调度命令给具体的 TiKV 节点,可以说是整个集群的“大脑”。此外,PD 本身也是由至少 3 个节点构成,拥有高可用的能力。建议部署奇数个 PD 节点。

  • 存储节点

    • TiKV Server:负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range(从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region。TiKV 的 API 在 KV 键值对层面提供对分布式事务的原生支持,默认提供了 SI (Snapshot Isolation) 的隔离级别,这也是 TiDB 在 SQL 层面支持分布式事务的核心。TiDB 的 SQL 层做完 SQL 解析后,会将 SQL 的执行计划转换为对 TiKV API 的实际调用。所以,数据都存储在 TiKV 中。另外,TiKV 中的数据都会自动维护多副本(默认为三副本),天然支持高可用和自动故障转移。
    • TiFlash:TiFlash 是一类特殊的存储节点。和普通 TiKV 节点不一样的是,在 TiFlash 内部,数据是以列式的形式进行存储,主要的功能是为分析型的场景加速。

实验环境

安装好zabbix监控的虚拟机vm1

tidb安装

 yum install wget -y

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

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

 数据库安装初始化

yum install mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm mysql-community-server-5.7.24-1.el7.x86_64.rpm mysql-community-client-5.7.24-1.el7.x86_64.rpm mysql-community-common-5.7.24-1.el7.x86_64.rpm mysql-community-libs-5.7.24-1.el7.x86_64.rpm -y

systemctl start mysqld
cat /var/log/mysqld.log | grep password
2021-12-26T13:29:08.521584Z 1 [Note] A temporary password is generated for root@localhost: cp++8q:%2yY1
mysql_secure_installation 

解压tidb启动

tar zxf tidb-latest-linux-amd64.tar.gz
 cd tidb-v5.0.1-linux-amd64/
./bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://172.25.7.5:2379" --peer-urls="http://172.25.8.8:2380" --initial-cluster="pd1=http://172.25.7.5:2380" --log-file=pd.log &


开启pd

./bin/tidb-server &
开启tidb



 netstat -ntlp | grep 4000  查看服务端口

 数据库和tidb连接

 mysql -h 172.25.7.5 -P 4000 -uroot

数据库

create database zabbix character set utf8 collate utf8_bin;
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'westos';
grant all privileges on zabbix.* to zabbix@'%';

数据导入

cd /usr/share/doc/zabbix-server-mysql-5.0.19/
zcat create.sql.gz | mysql -h 172.25.7.5 -P 4000 -uroot  zabbix
vim /etc/zabbix/zabbix_server.conf

124 DBPassword=westos

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

 25 php_value[date.timezone] = Asia/Shanghai

systemctl restart rh-php72-php-fpm.service

systemctl enable zabbix-server.service zabbix-agent.service

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值