一、实验环境及原理
vm1 | PD1, TiDB,zabbix-server,web |
---|---|
vm2-4 | Tikv |
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 是一个集群,需要部署奇数个节点。
TiKV Server
- TiKV Server 负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range (从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region 。TiKV 使用 Raft 协议做复制,保持数据的一致性和容灾。副本以 Region 为单位进行管理,不同节点上的多个 Region 构成一个 Raft Group,互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度,这里也是以 Region 为单位进行调度。
二、实验
vm2-4:
[root@vm4 mnt]# tar zxf tidb-latest-linux-amd64.tar.gz
[root@vm4 mnt]# cd tidb-latest-linux-amd64
[root@vm4 tidb-latest-linux-amd64]# ./bin/tikv-server --pd="172.25.18.11:2379" --addr="172.25.18.4:20160" --data-dir=tikv1 --log-file=tikv.log &
[1] 2627
[root@vm4 tidb-latest-linux-amd64]# ps ax | grep server
2484 pts/1 Sl 0:11 ./bin/tikv-server --pd=172.25.18.11:2379 --addr=172.25.18.2:20160 --data-dir=tikv1 --log-file=tikv.log
2539 pts/1 R+ 0:00 grep --color=auto server
[root@vm2 tidb-latest-linux-amd64]# mysql -h172.25.18.11 -uzabbix -P4000 -p
Enter password:
vm1:
安装zabbix:
[root@vm1 zabbix]# ls
fping-3.10-1.el7.x86_64.rpm zabbix-get-3.4.6-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm zabbix-web-3.4.6-1.el7.noarch.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
zabbix-agent-3.4.6-1.el7.x86_64.rpm
[root@vm1 zabbix]# yum install * -y
[root@vm1 zabbix]# systemctl restart zabbix-server
##zabbix-server侦听数据库端口,使用用户等
[root@vm1 zabbix]# vim /etc/zabbix/zabbix_server.conf
数据库安装和启用
[root@vm1 ~]# yum install mariadb-server -y //安装数据库
[root@vm1 ~]# systemctl start mariadb
[root@vm1 ~]# mysql_secure_installation //安全认证
[root@vm1 mnt]# tar zxf tidb-latest-linux-amd64.tar.gz
cd ti [root@vm1 mnt]# cd tidb-latest-linux-amd64
[root@vm1 tidb-latest-linux-amd64]# ./bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://172.25.18.11:2379" --peer-urls="http://172.25.18.11:2380" --initial-cluster="pd1=http://172.25.18.11:2380" --log-file=pd.log &
[1] 2497
[root@vm1 tidb-latest-linux-amd64]# ./bin/tidb-server --store=tikv --path="172.25.18.11:2379" --log-file=tidb.log &
[2] 2644
[root@vm1 tidb-latest-linux-amd64]# mysql -h 172.25.18.11 -P4000 -u root
MySQL [mysql]> create database zabbix character set utf8 collate utf8_bin;
MySQL [(none)]> grant all privileges on zabbix.* to zabbix@'172.25.18.%' identified by 'westos';
##导入zabbix数据库
[root@vm1 zabbix-server-mysql-3.4.6]# zcat create.sql.gz | mysql -h172.25.18.11 -P4000 -uzabbix -p zabbix
Enter password:
MySQL [(none)]> use zabbix
使用 MySQL 客户端连接 TiDB测试:
[root@vm3 tidb-latest-linux-amd64]# mysql -h172.25.18.11 -uzabbix -P4000 -p
Enter password:
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| INFORMATION_SCHEMA |
| zabbix |
+--------------------+
在浏览器中进入zabbix登陆页面
遇到的问题:
原因:/etc/zabbix/zabbix_server.conf 端口未改,导致无法连接到TIDB