博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TiDB 分布式数据库(二)
阅读量:5820 次
发布时间:2019-06-18

本文共 4882 字,大约阅读时间需要 16 分钟。

#

# 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,如需转载请自行联系原作者
你可能感兴趣的文章
关于接口请求报错的小小总结
查看>>
简述网站用户行为分析及推荐。
查看>>
你的大学志愿还是你父母的???你的志愿谁来“拯救”。【砺鹰职业测评】...
查看>>
HCIE认证
查看>>
CentOS系统启动流程
查看>>
ssh连接超时问题解决
查看>>
Context startup failed due to previous errors
查看>>
linux SVN服务器创建多个版本库
查看>>
(二)Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌
查看>>
iOS优化内存,提升性能 之三
查看>>
目前自己在读的书
查看>>
我的友情链接
查看>>
SCI论文从入门到精通
查看>>
多机同步管理hexo博客
查看>>
代码块
查看>>
nginx配置文件location见解
查看>>
oracle 日志-oracle 了解隐式游标
查看>>
MongoDB副本集成员状态
查看>>
在Windows 2003下搭建FTP服务器图文教程
查看>>
python关于\ 符号 连接 代码 变量 过长符号 换行继续
查看>>