TiDB 分布式数据库(二)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

#

# 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,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
29天前
|
数据库 数据安全/隐私保护
TiDB分布式事务处理机制
【2月更文挑战第28天】TiDB作为开源的分布式HTAP数据库产品,其分布式事务处理机制是其核心功能之一。本章节将深入解析TiDB分布式事务处理机制的工作原理,包括其采用的分布式事务协议、事务的提交与回滚过程、以及如何处理并发事务等关键内容。通过了解TiDB的分布式事务处理机制,我们可以更好地理解其在分布式环境下如何确保数据一致性和事务正确性。
|
1月前
|
SQL 弹性计算 分布式计算
TiDB计算层详解:分布式计算框架与查询优化机制
【2月更文挑战第26天】本文将深入剖析TiDB的计算层,详细解析其分布式计算框架和查询优化机制。通过了解计算层的核心组件和工作原理,我们可以更好地理解TiDB如何高效处理SQL查询和计算任务。本文将从计算层的架构、任务分发、查询优化等方面展开介绍,帮助读者全面掌握TiDB计算层的关键技术和优势。
|
1月前
|
数据库 开发者
参与TiDB社区,共筑开源数据库的未来
【2月更文挑战第25天】TiDB社区作为开源数据库项目的重要一环,汇聚了众多数据库爱好者与开发者。本文旨在鼓励读者积极参与TiDB社区,通过贡献代码、分享经验、参与讨论等方式,共同推动TiDB的发展。文章将介绍TiDB社区的特点、参与方式以及贡献的意义,帮助读者了解并融入这个充满活力的开源社区。
|
1月前
|
存储 SQL 关系型数据库
TiDB的优势:为何选择TiDB作为您的数据库解决方案
【2月更文挑战第25天】随着数据规模的不断增长和业务需求的日益复杂化,现代企业对数据库系统的扩展性、高可用以及分布式处理能力提出了更高的要求。TiDB作为一个新型的开源分布式数据库,以其独特的设计理念与卓越的技术特性,在众多数据库解决方案中脱颖而出。本文将深入剖析TiDB的核心优势,探讨其如何帮助企业从容应对海量数据挑战、实现无缝水平扩展、保障服务高可用性,并提供灵活一致的事务支持。
|
1月前
|
Oracle 关系型数据库 分布式数据库
分布式数据库集成解决方案
分布式数据库集成解决方案
200 0
|
24天前
|
存储 数据采集 数据挖掘
【软件设计师备考 专题 】数据仓库和分布式数据库基础知识
【软件设计师备考 专题 】数据仓库和分布式数据库基础知识
193 0
|
1月前
|
存储 SQL 分布式计算
TiDB整体架构概览:构建高效分布式数据库的关键设计
【2月更文挑战第26天】本文旨在全面概述TiDB的整体架构,深入剖析其关键组件和功能,从而帮助读者理解TiDB如何构建高效、稳定的分布式数据库。我们将探讨TiDB的计算层、存储层以及其他核心组件,并解释这些组件是如何协同工作以实现卓越的性能和扩展性的。通过本文,读者将能够深入了解TiDB的整体架构,为后续的学习和实践奠定坚实基础。
|
1月前
|
存储 监控 容灾
TiDB存储层深入:分布式存储架构与数据一致性保障
【2月更文挑战第26天】本文将深入探讨TiDB的存储层,详细解析其分布式存储架构、数据复制机制以及数据一致性保障措施。通过了解存储层的核心组件和工作原理,我们可以更好地理解TiDB如何确保数据的可靠性、高可用性和可扩展性。本文将从存储层的架构、数据分布、容错机制等方面展开介绍,帮助读者全面掌握TiDB存储层的关键技术和优势。
|
1月前
|
存储 关系型数据库 MySQL
TiDB与MySQL、PostgreSQL等数据库的比较分析
【2月更文挑战第25天】本文将对TiDB、MySQL和PostgreSQL等数据库进行详细的比较分析,探讨它们各自的优势和劣势。TiDB作为一款分布式关系型数据库,在扩展性、并发性能等方面表现突出;MySQL以其易用性和成熟性受到广泛应用;PostgreSQL则在数据完整性、扩展性等方面具有优势。通过对比这些数据库的特点和适用场景,帮助企业更好地选择适合自己业务需求的数据库系统。
|
1月前
|
存储 供应链 安全
新一代数据库技术:融合区块链与分布式存储的未来前景
传统的数据库技术在面对大规模数据存储和安全性方面存在诸多挑战,而新一代数据库技术正在崭露头角。本文将探讨如何融合区块链与分布式存储技术,为数据库领域带来全新的发展机遇,并分析其在实际应用中的潜力与前景。

热门文章

最新文章