企业运维----Zabbix TIDB替换mysql数据库

TIDB替换mysql数据库



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 整体架构

企业运维----Zabbix TIDB替换mysql数据库

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

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

  2. PD Server

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

  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 为单位进行调度。

  4. TiSpark

    TiSpark 作为 TiDB 中解决用户复杂 OLAP 需求的主要组件,将 Spark SQL 直接运行在 TiDB 存储层上,同时融合 TiKV 分布式集群的优势,并融入大数据社区生态。至此,TiDB 可以通过一套系统,同时支持 OLTP 与 OLAP,免除用户数据同步的烦恼。

实验环境

主机 服务
server5:172.25.12.5 zabbix-server pd-server tidb-server
server6:172.25.12.6 tikv-server
server7:172.25.12.7 tikv-server
server8:172.25.12.8 tikv-server

TIDB替换mysql数据库

1.安装tidb
tar zxf tidb-latest-linux-amd64.tar.gz -C /usr/local   ##解压
cd /usr/local
ln -s tidb-latest-linux-amd64/ tidb   ##建立软连接
2.启动tidb
  1. 开启pd
cd /user/local/tidb
./bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://172.25.12.5:2379" --peer-urls="http://172.25.12.5:2380" --initial-cluster="pd1=http://172.25.12.5:2380" --log-file=pd.log &

查看端口2379和2380
企业运维----Zabbix TIDB替换mysql数据库
企业运维----Zabbix TIDB替换mysql数据库

  1. 开启tikv

server6

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

server7

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

server8

./bin/tikv-server --pd="172.25.12.5:2379" --addr="172.25.12.8:20160" --data-dir=tikv1 --log-file=tikv.log &
  1. 开启tidb
./bin/tidb-server &

企业运维----Zabbix TIDB替换mysql数据库

查看端口4000
企业运维----Zabbix TIDB替换mysql数据库

3.数据库连接tidb
mysql -h 172.25.12.5 -P 4000 -uroot ##数据库通过4000端口连接tidb
create database zabbix character set utf8 collate utf8_bin; ##创建数据库
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'westos';  ##创建用户
grant all privileges on *.* to 'zabbix'@'%'; ##用户授权

企业运维----Zabbix TIDB替换mysql数据库

4.导入数据库
cd /usr/share/doc/zabbix-server-mysql-4.0.32/
zcat create.sql.gz | mysql -h 172.25.12.5 -P 4000 -uroot zabbix
5.修改zabbix配置文件
vim /etc/zabbix/zabbix_server.conf

 91 DBHost=172.25.12.5
124 DBPassword=westos
139 DBPort=4000
6.修改zabbix网站的端口和ip
vim /etc/zabbix/web/zabbix.conf.php 

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = '172.25.12.5';
$DB['PORT']     = '4000';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'westos';
7.重启服务访问http://172.25.12.5/zabbix
systemctl restart  zabbix-server.service 
上一篇:使用 docker compose 安装 tidb


下一篇:使用opencv中的VideoWriter函数,保存电脑内置摄像头捕获到的视频(文中包括flip函数参数翻转设置)