TiDB
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
Zabbix:企业级开源监控解决方案Zabbix是一个成熟、易用的企业级开源监控解决方案,适用于百万级指标的网络监控和应用监控https://www.zabbix.com/cn云原生分布式数据库-实时 HTAP-开源 | PingCAPPingCAP 成立于 2015 年,是一家企业级开源分布式数据库厂商。由 PingCAP 创立的分布式关系型数据库 TiDB,具备「一键水平扩容或者缩容、金融级高可用、实时 HTAP、云原生、MySQL 兼容」等特性,帮助企业最大化发挥数据价值,充分释放企业增长空间。
https://pingcap.com/zh/
部署三台机器
server2 172.25.31.2 zabbix-server tidb
server33 172.25.31.33 tikv
server34 172.25.31.34 tikv
在三台机器上都下载tidb二进制软件包
wget https://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
tar zxf tidb-latest-linux-amd64.tar.gz
scp tidb-latest-linux-amd64.tar.gz server33:
scp tidb-latest-linux-amd64.tar.gz server34:
server2 解压完成后进入tidb-v5.0.1-linux-amd64/目录下
执行此命令 将pd进程打入后台
./bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://172.25.31.2:2379" --peer-urls="http://172.25.31.2:2380" --initial-cluster="pd1=http://172.25.31.2:2380" --log-file=pd.log &
打入后台之后查看进程,要看到这两个端口运行
[root@server2 web]# netstat -antlp | grep pd
tcp 0 0 172.25.31.2:2379 0.0.0.0:* LISTEN 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2380 0.0.0.0:* LISTEN 5570/./bin/pd-serve
server33 server34 :
在server33 和server34 机器上解压二进制软件包
执行./bin/tikv-server 将pd指向server2
[root@server33 ~]# tar zxf tidb-latest-linux-amd64.tar.gz
[root@server33 ~]# cd tidb-v5.0.1-linux-amd64/
[root@server33 tidb-v5.0.1-linux-amd64]# ls
bin PingCAP Community Software Agreement(Chinese Version).pdf PingCAP Community Software Agreement(English Version).pdf
[root@server33 tidb-v5.0.1-linux-amd64]# ./bin/tikv-server --pd="172.25.31/3:2379" --addr="172.25.31.33:20160" --data-dir=tikv1 --log-file=tikv.log &
[1] 3920
执行完成后要看到以下端口开启与否
[root@server33 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep tikv
tcp 0 0 127.0.0.1:20180 0.0.0.0:* LISTEN 3441/./bin/tikv-ser
tcp6 0 0 172.25.31.33:20160 :::* LISTEN 3441/./bin/tikv-ser
tcp6 0 0 172.25.31.33:20160 172.25.31.34:58334 ESTABLISHED 3441/./bin/tikv-ser
tcp6 0 0 172.25.31.33:42300 172.25.31.34:20160 ESTABLISHED 3441/./bin/tikv-ser
tcp6 0 0 172.25.31.33:41028 172.25.31.2:2379 ESTABLISHED 3441/./bin/tikv-ser
server34同步上述操作
执行完成后在server2主机上开启tidb服务及zabbix服务
将tidb服务打入后台
查看4000端口是否开启
[root@server2 tidb-v5.0.1-linux-amd64]# ./bin/tidb-server &
[root@server2 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep tidb
tcp6 0 0 :::10080 :::* LISTEN 5711/./bin/tidb-ser
tcp6 0 0 :::4000 :::* LISTEN 5711/./bin/tidb-ser
在查看里面有没有来自33和34的主机的连接,有的话代表连接成功
[root@server2 tidb-v5.0.1-linux-amd64]# netstat -antlp | grep pd
tcp 0 0 127.0.0.1:36232 0.0.0.0:* LISTEN 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2379 0.0.0.0:* LISTEN 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2380 0.0.0.0:* LISTEN 5570/./bin/pd-serve
tcp 0 0 127.0.0.1:43929 0.0.0.0:* LISTEN 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:56980 172.25.31.2:2379 ESTABLISHED 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2379 172.25.31.33:41028 ESTABLISHED 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2379 172.25.31.2:56980 ESTABLISHED 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2379 172.25.31.2:56984 ESTABLISHED 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:56984 172.25.31.2:2379 ESTABLISHED 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2379 172.25.31.2:56982 ESTABLISHED 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:2379 172.25.31.34:48594 ESTABLISHED 5570/./bin/pd-serve
tcp 0 0 172.25.31.2:56982 172.25.31.2:2379 ESTABLISHED 5570/./bin/pd-serve
tcp6 0 0 :::80 :::* LISTEN 3166/httpd
进入数据库将数据库中,将数据从mysql转移到tidb
进入mysql数据库 创建zabbix用户并设定权限
[root@server2 tidb-v5.0.1-linux-amd64]# mysql -h 172.25.31.2 -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_111';
mysql> grant all privileges on *.* to 'zabbix'@'%';
权限设定完毕后开始对mysql数据库进行备份
切换目录 开始备份 中途不要ctrl+c 结束
cd /usr/share/doc/zabbix-server-mysql-5.0.25/
mysqldump -uroot -pWestos_111 zabbix >/mnt/zabbix.sql
将mysql数据库的内容导入到tidb中
[root@server2 mnt]# mysql -h 172.25.31.2 -P 4000 -uroot
MySQL [(none)]> use zabbix;
Database changed
MySQL [zabbix]> set tidb_batch_insert=1;
MySQL [zabbix]> source /mnt/zabbix.sql;
直接等待导入完成
编辑配置文件 将 zabbix 的监听端口更改为4000
[root@server2 ~]# vim /etc/zabbix/zabbix_server.conf
# Range: 1024-65535
# Default:
DBPort=4000
编辑配置文件/etc/zabbix/web
将server选项更改为自己的tidb主机 更改端口为4000
<?php
// Zabbix GUI configuration file.
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '172.25.31.2';
$DB['PORT'] = '4000';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'Westos_111';
重启zabbix-server zabbix-agent服务
systemctl restart zabbix-agent
systemctl restart zabbix-server
重启完成后访问zabbix主机
设定完成