TiDB 分布式数据库(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

#

# TiDB :A Distributed SQL Database

# github :https://github.com/pingcap/tidb

# doc : https://github.com/pingcap/docs-cn 

#


#架构

Name
Host IP Services
node1 192.168.174.134
PD, TiDB
node2 192.168.174.136 TiKV1
node3 192.168.174.137 TiKV2
node4 192.168.174.138 TiKV3


#软件下载(每台都需操作)

1
2
3
[root@node1 ~] # wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
[root@node1 ~] # tar -xf tidb-latest-linux-amd64.tar.gz -C /usr/local/
[root@node1 ~] # mkdir /data/tidb/{data,log} -p


#开启服务(注:集群的启动顺序不能错)

#在node1开启PD

1
2
3
4
[root@node1 ~] # /usr/local/tidb-latest-linux-amd64/bin/pd-server --name=pd1   \
--data- dir = /data/tidb/data     --client-urls= "http://192.168.174.134:2379"   \
--peer-urls= "http://192.168.174.134:2380"   --initial-cluster= "pd1=http://192.168.174.134:2380"    \
--log- file = /data/tidb/log/pd .log &


参数解释:https://github.com/pingcap/docs-cn/blob/master/op-guide/configuration.md#tidb


#在node2 node3 node4 上开启 TiKV

1
2
3
[root@node2 ~] # /usr/local/tidb-latest-linux-amd64/bin/tikv-server --pd="192.168.174.134:2379"  --addr="192.168.174.136:20160"  --data-dir=/data/tidb/data --log-file=/data/tidb/log/tikv.log & 
[root@node3 ~] # /usr/local/tidb-latest-linux-amd64/bin/tikv-server --pd="192.168.174.134:2379"  --addr="192.168.174.137:20160"  --data-dir=/data/tidb/data --log-file=/data/tidb/log/tikv.log &
[root@node4 ~] # /usr/local/tidb-latest-linux-amd64/bin/tikv-server --pd="192.168.174.134:2379"  --addr="192.168.174.138:20160"  --data-dir=/data/tidb/data --log-file=/data/tidb/log/tikv.log &


参数解释:https://github.com/pingcap/docs-cn/blob/master/op-guide/configuration.md#tidb



#在node1 上开启TiDB

1
[root@node1 ~] # /usr/local/tidb-latest-linux-amd64/bin/tidb-server --store=tikv --path="192.168.174.134:2379" --log-file=/data/tidb/log/tidb.log &


#登陆数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[root@node1 ~] # yum install -y mariadb                        #安装mariadb数据库客户端
[root@node1 ~] # mysql -uroot -h 192.168.174.134 -P 4000
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection  id  is 2
Server version: 5.7.1-TiDB-1.0 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
 
Type  'help;'  or  '\h'  for  help. Type  '\c'  to  clear  the current input statement.
 
MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| INFORMATION_SCHEMA |
| PERFORMANCE_SCHEMA |
| mysql              |
test                |
+--------------------+
4 rows  in  set  (0.00 sec)
 
MySQL [(none)]>  select  host,user from mysql.user ;
+------+------+
| host | user |
+------+------+
| %    | root |
+------+------+
1 row  in  set  (0.00 sec)
 
MySQL [(none)]>  exit
Bye



#集群状态


TiDB 对外暴露的 HTTP 接口是 http://host:port/status,默认的端口号是 10080 (可以通过 --status 参数设置),

可以通过访问这个接口获取当前 TiDB Server 的状态,以及判断是否存活。返回结果是 Json 格式:

1
2
[root@node1 ~] # curl 192.168.174.134:10080/status
{ "connections" :0, "version" : "5.7.1-TiDB-1.0" , "git_hash" : "d6ec37bb4219e95babce41bd0400d04d84b1fb88" }



PD Server

PD API 地址: http://${host}:${port}/pd/api/v1/${api_name}

其中 port 默认为 2379,各类 api_name 详细信息参见 

https://cdn.rawgit.com/pingcap/docs/master/op-guide/pd-api-v1.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[root@node1 ~] # curl 192.168.174.134:2379/pd/api/v1/stores
{
   "count" : 3,
   "stores" : [
     {
       "store" : {
         "id" : 1,
         "address" "192.168.174.138:20160" ,
         "state" : 0,
         "state_name" "Up"
       },
       "status" : {
         "store_id" : 1,
         "capacity" "19 GB" ,
         "available" "17 GB" ,
         "leader_count" : 1,
         "region_count" : 1,
         "sending_snap_count" : 0,
         "receiving_snap_count" : 0,
         "applying_snap_count" : 0,
         "is_busy" false ,
         "start_ts" "2017-05-13T03:16:51+08:00" ,
         "last_heartbeat_ts" "2017-05-13T03:23:58.709890548+08:00" ,
         "uptime" "7m7.709890548s"
       }
     },
     {
       "store" : {
         "id" : 4,
         "address" "192.168.174.137:20160" ,
         "state" : 0,
         "state_name" "Up"
       },
       "status" : {
         "store_id" : 4,
         "capacity" "19 GB" ,
         "available" "16 GB" ,
         "leader_count" : 0,
         "region_count" : 1,
         "sending_snap_count" : 0,
         "receiving_snap_count" : 0,
         "applying_snap_count" : 0,
         "is_busy" false ,
         "start_ts" "2017-05-12T18:17:02+08:00" ,
         "last_heartbeat_ts" "2017-05-13T03:24:00.555315502+08:00" ,
         "uptime" "9h6m58.555315502s"
       }
     },
     {
       "store" : {
         "id" : 5,
         "address" "192.168.174.136:20160" ,
         "state" : 0,
         "state_name" "Up"
       },
       "status" : {
         "store_id" : 5,
         "capacity" "16 GB" ,
         "available" "13 GB" ,
         "leader_count" : 0,
         "region_count" : 1,
         "sending_snap_count" : 0,
         "receiving_snap_count" : 0,
         "applying_snap_count" : 0,
         "is_busy" false ,
         "start_ts" "2017-05-12T18:17:02+08:00" ,
         "last_heartbeat_ts" "2017-05-13T03:23:56.955220422+08:00" ,
         "uptime" "9h6m54.955220422s"
       }
     }
   ]
}
[root@node1 ~] #










本文转自 chaunceyjiang  51CTO博客,原文链接:http://blog.51cto.com/cqwujiang/1925169,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
235
分享
相关文章
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
【赵渝强老师】TiDB数据库从零开始
《TiDB数据库从零开始》是一门系统介绍TiDB分布式数据库的课程,共11章。内容涵盖TiDB体系架构、安装部署、用户安全管理、数据库对象操作、事务与锁机制、备份恢复、数据迁移与同步、TiSpark/TiProxy/TiFlash组件使用,以及监控诊断与故障处理。通过视频讲解和详细文本,帮助学员全面掌握TiDB的核心功能与应用场景。
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
体验用分布式数据库突破资源瓶颈,完成任务领智能台灯!
体验用分布式数据库突破资源瓶颈,完成任务领智能台灯!
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
679 0
PolarDB分布式版:与云融合的分布式数据库发展新阶段
PolarDB分布式版标志着分布式数据库与云融合的新阶段。它经历了三个发展阶段:从简单的分布式中间件,到一体化分布式架构,再到云原生分布式数据库。PolarDB充分利用云资源的弹性、高性价比、高可用性和隔离能力,解决了大规模数据扩展性问题,并支持多租户场景和复杂事务处理。零售中台的建设背景包括国家数字化转型战略及解决信息孤岛问题,采用分布式数据库提升高可用性和性能,满足海量订单处理需求。展望未来,零售中台将重点提升容灾能力、优化资源利用并引入AI技术,以实现更智能的服务和更高的业务连续性。
140 9
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等