开发者社区> 余二五> 正文

TiDB 分布式数据库(二)

简介:
+关注继续查看

#

# 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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践
17 0
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(5)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(5)
18 0
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(2)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(2)
18 0
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(4)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(4)
20 0
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(3)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(3)
19 0
《云原生一站式数据库技术与实践》——二、云原生数据仓库AnalyticDB MySQL高性能存储引擎(3)
《云原生一站式数据库技术与实践》——二、云原生数据仓库AnalyticDB MySQL高性能存储引擎(3)
30 0
【PostgreSQL架构】为什么关系型数据库是分布式数据库的未来
【PostgreSQL架构】为什么关系型数据库是分布式数据库的未来
11 0
分布式数据库|学习笔记
快速学习分布式数据库
34 0
分布式数据库的特点 | 学习笔记
快速学习 分布式数据库的特点
96 0
云原生分布式数据库 PolarDB MySQL版
云原生分布式数据库 PolarDB MySQL版
142 0
从中间件到分布式数据库,PolarDB-X的透明之路
PolarDB-X前身是淘宝内部使用的分库分表中间件TDDL(2007年,Java库的形态),早期以DRDS(2012年开始研发,2014年上线,分库分表中间件+MySQL Proxy的形态)的品牌在阿里云上提供服务,后来(2019年)正式转型为分布式数据库PolarDB-X(正式成为了PolarDB品牌的一员)。从中间件到分布式数据库,我们在以MySQL为存储构建分布式数据库这条路上走了10余年,这中间积累了大量的技术,也走了一些弯路,未来我们也会坚定的走下去。
2416 0
TiDB、OceanBase、PolarDB-X、CockroachDB二级索引写入性能测评
二级索引是关系型数据库相较于NoSQL数据库的一个关键差异。二级索引必须是强一致的,因此索引的写入需要与主键的写入放在一个事务当中,事务的性能是二级索引性能的基础。本次测试将重点关注不同分布式数据库的索引性能,特别关注业内全局索引的性能与MySQL索引的性能差异。
2405 0
OceanBase 的分布式数据库对象
本文整理自OceanBase 首席架构师杨志丰,在OceanBase读书会的分享。
172 0
自研一体化分布式架构数据库-OceanBase
本文整理自OceanBase社区布道师周跃跃,在如何构建简单高效的现代化数据栈的分享。
241 0
OceanBase的存储引擎
OceanBase的存储引擎
289 0
+关注
余二五
文章
问答
视频
相关电子书
更多
MongoDB分布式架构演进
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载