TiDB是PingCAP 公司受google开源论文Spanner和F1 启发而开发的开源的分布式数据库,是目前市场上最接近OceanBase数据库的分布式数据库。经常会有技术朋友客户咨询TiDB跟OceanBase的区别。所以,这里也搭建一个TiDB集群。并在后面跟OceanBase集群做性能对比。

由于环境的限制,不能打通ssh通道,所以没办法使用官网推荐的自动化安装方式。

声明:由于时间仓促,安装TiDB集群参考了网友的文章 ,原文链接见 TiDB集群手动安装:https://www.cnblogs.com/vansky/p/9328375.html?spm=a2c4e.11155515.0.0.28c76b21Niwtbe

一、安装准备。

  1. 机器规划

IP 角色 说明
xxx.xxx.242.23 PD Server 集群管理模块
xxx.xxx.242.26 PD Server 集群管理模块
xxx.xxx.242.27 PD Server 集群管理模块
xxx.xxx.243.68 TiKV Server 存储数据,存储节点
xxx.xxx.82.150 TiKV Server 存储数据,存储节点
xxx.xxx.82.169 TiKV Server 存储数据,存储节点
xxx.xxx.82.173 TiDB Server sql 请求路由,数据处理,计算节点

  1. OS准备
    OS环境使用redhat 7。
    需要改一些配置

sudo vi /etc/sysctl.conf
fs.file-max = 1000000

sudo vi /etc/security/limits.conf
root soft nofile 1000000
root hard nofile 1000000
admin soft nofile 1000000
admin hard nofile 1000000

二、TiPD 安装

  1. 安装软件

此次安装在admin用户下。需要sudo 权限。

tar zxvf tidb-ansible.tar.gz
cd /home/admin/tidb-ansible/downloads
tar zxvf tidb-v2.0.7.tar.gz
sudo mv tidb-v2.0.7-linux-amd64 /usr/local/
sudo ln -s /usr/local/tidb-v2.0.7-linux-amd64 /usr/local/tidb

  1. 准备数据目录

sudo mkdir -p /usr/local/tidb/conf/

sudo mkdir -p /data/1/tidb/pd/4205
sudo mkdir -p /data/log1/tidb/pd
sudo chown -R admin.admin /data/1/tidb
sudo chown -R admin.admin /data/log1/tidb

  1. 准备配置文件

vi /usr/local/tidb/conf/tipd_4205.conf
client-urls=“http://xxx.xxx.242.23:4205”
name=“pd1”
data-dir="/data/1/tidb/pd/4205/"
peer-urls=“http://xxx.xxx.242.23:4206”
initial-cluster=“pd1=http://xxx.xxx.242.23:4206,pd2=http://xxx.xxx.242.26:4206,pd3=http://xxx.xxx.242.27:4206”
log-file="/data/log1/tidb/pd/4205_run.log"

  1. 启动TiPD

nohup /usr/local/tidb/bin/pd-server --config=/usr/local/tidb/conf/tipd_4205.conf &

三、TiKV安装

  1. 安装软件

ar zxvf tidb-ansible.tar.gz
cd /home/admin/tidb-ansible/downloads
tar zxvf tidb-v2.0.7.tar.gz
sudo mv tidb-v2.0.7-linux-amd64 /usr/local/
sudo ln -s /usr/local/tidb-v2.0.7-linux-amd64 /usr/local/tidb

  1. 准备数据目录

mkdir -p /data/1/tidb/kv/4402/import
chown -R admin.admin /data/1/tidb
mkdir -p /usr/local/tidb/conf/

  1. 准备配置文件

vi /usr/local/tidb/conf/tikv_4402.conf

log-level = “info”
log-file = “/data/1/tidb/kv/4402/run.log”
[server]
addr = “xxx.xxx.82.169:4402”
[storage]
data-dir = “/data/1/tidb/kv/4402”
scheduler-concurrency = 1024000
scheduler-worker-pool-size = 100
#labels = {zone = “ZONE3”, host = “10074”}
[pd]
#指定tipd节点 这里指定的都是tipd的client-urls
endpoints = [“xxx.xxx.242.23:4205”,“xxx.xxx.242.26:4205”,“xxx.xxx.242.27:4205”]
[metric]
interval = “15s”
address = “”
job = “tikv”
[raftstore]
sync-log = false
region-max-size = “384MB”
region-split-size = “256MB”
[rocksdb]
max-background-jobs = 28
max-open-files = 409600
max-manifest-file-size = “20MB”
compaction-readahead-size = “20MB”
[rocksdb.defaultcf]
block-size = “64KB”
compression-per-level = [“no”, “no”, “lz4”, “lz4”, “lz4”, “zstd”, “zstd”]
write-buffer-size = “128MB”
max-write-buffer-number = 10
level0-slowdown-writes-trigger = 20
level0-stop-writes-trigger = 36
max-bytes-for-level-base = “512MB”
target-file-size-base = “32MB”
[rocksdb.writecf]
compression-per-level = [“no”, “no”, “lz4”, “lz4”, “lz4”, “zstd”, “zstd”]
write-buffer-size = “128MB”
max-write-buffer-number = 5
min-write-buffer-number-to-merge = 1
max-bytes-for-level-base = “512MB”
target-file-size-base = “32MB”
[raftdb]
max-open-files = 409600
compaction-readahead-size = “20MB”
[raftdb.defaultcf]
compression-per-level = [“no”, “no”, “lz4”, “lz4”, “lz4”, “zstd”, “zstd”]
write-buffer-size = “128MB”
max-write-buffer-number = 5
min-write-buffer-number-to-merge = 1
max-bytes-for-level-base = “512MB”
target-file-size-base = “32MB”
block-cache-size = “10G”
[import]
import-dir = “/data/1/tidb/kv/4402/import”
num-threads = 8
stream-channel-window = 128

  1. 启动 TiKV

nohup /usr/local/tidb/bin/tikv-server --config=/usr/local/tidb/conf/tikv_4402.conf &

四、TiDB安装

  1. 安装软件
    跟前面TiPD一样。

  2. 准备配置文件

vi /usr/local/tidb/conf/tidb_4001.conf

host = “0.0.0.0”
port = 4001
#存储类型指定为tikv。
store = “tikv”
#指定tipd节点。这里指定的都是tipd的client-urls
path = “xxx.xxx.242.23:4205,xxx.xxx.242.26:4205,xxx.xxx.242.27:4205”
socket = “”
run-ddl = true
lease = “45s”
split-table = true
token-limit = 1000
oom-action = “log”
enable-streaming = false
lower-case-table-names = 2
[log]
level = “info”
format = “text”
disable-timestamp = false
slow-query-file = “”
slow-threshold = 300
expensive-threshold = 10000
query-log-max-len = 2048
[log.file]
filename = “/data/1/tidb/db/4001/tidb.log”
max-size = 300
max-days = 0
max-backups = 0
log-rotate = true
[security]
ssl-ca = “”
ssl-cert = “”
ssl-key = “”
cluster-ssl-ca = “”
cluster-ssl-cert = “”
cluster-ssl-key = “”
[status]
report-status = true
status-port = 10080 #报告tidb状态的通讯端口
metrics-addr = “”
metrics-interval = 15
[performance]
max-procs = 0
stmt-count-limit = 5000
tcp-keep-alive = true
cross-join = true
stats-lease = “3s”
run-auto-analyze = true
feedback-probability = 0.05
query-feedback-limit = 1024
pseudo-estimate-ratio = 0.8
[proxy-protocol]
networks = “”
header-timeout = 5
[plan-cache]
enabled = false
capacity = 2560
shards = 256
[prepared-plan-cache]
enabled = false
capacity = 100
[opentracing]
enable = false
rpc-metrics = false
[opentracing.sampler]
type = “const”
param = 1.0
sampling-server-url = “”
max-operations = 0
sampling-refresh-interval = 0
[opentracing.reporter]
queue-size = 0
buffer-flush-interval = 0
log-spans = false
local-agent-host-port = “”
[tikv-client]
grpc-connection-count = 16
commit-timeout = “41s”
[txn-local-latches]
enabled = false
capacity = 1024000
[binlog]
binlog-socket = “”

  1. 启动TiDB

nohup /usr/local/tidb/bin/tidb-server --config=/usr/local/tidb/conf/tidb_4001.conf &

4001 就是连接端口了。

  1. 测试TiDB连接

mysql -h xxx.xxx.82.173 -uroot -P 4001

五、总结

TiDB集群的架构,计算与存储分离。安装前要准备一个配置文件,其他步骤都很简单。

TiDB集群安装好后就可以直接提供服务,使用体验类似MySQL。这点跟OceanBase不同,

TiDB集群没有租户功能。从文档描述来看,内部架构和功能相对来说还是比较简单。

TiDB集群手动安装相关推荐

  1. Ubuntu 20.04集群手动安装OpenStack Yoga

    文章目录 基础配置 基础中的基础 软件配置 OpenStack keystone X11转发 Glance 控制节点 Placement 控制节点 Nova 控制节点 计算节点 Neuron 控制节点 ...

  2. 在线安装TIDB集群

    在线安装TIDB集群  在线安装TiDB集群 服务器准备 说明:TiDB8需要能够连接外网,以便下载各类安装包 TiDB4非必须,但最好是有一台,因为后续测试Mysql数据同步或者进行性能比较时,都要 ...

  3. OceanBase集群手动部署

    OceanBase集群手动安装方法 前言 目前有关OceanBase功能.案例.故事的文章已经很多,对OceanBase感兴趣的朋友都想安装一个数据库试试.本文就是分享初学者如何手动搭建一个Ocean ...

  4. Centos7 安装Docker(v2021 version 20.10.5) 并通过docker-compose运行TiDB集群

    Centos7 安装Docker(v2021 version 20.10.5) 卸载docker旧版 注意:新系统不用卸载 yum remove docker \docker-client \dock ...

  5. 在开发环境使用 TiUP安装TiDB集群

    TiUP 是 TiDB 4.0 版本引入的集群运维工具,TiUP cluster 是 TiUP 提供的使用 Golang 编写的集群管理组件,通过 TiUP cluster 组件就可以进行日常的运维工 ...

  6. tidb集群安装部署

    tidb集群安装部署 部署架构图 一.安装tiup curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/inst ...

  7. 从零部署TiDB集群

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | yangyidba 来源 | 公众号「yang ...

  8. TIDB集群搭建-流水线

    官方文档:TIDB简介 TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传 ...

  9. TiDB集群部署最细化教程-亲测有效

    TiDB-TiUP集群部署 本次部署使用环境: CentOS Linux release 7.9.2009 (Core) TiDB 6.5.1 三台服务器: (内)172.19.172.179 (内) ...

  10. kafka集群kafka-eagle安装

    目录 kafka安装 解压安装包 修改配置文件 启动集群 kafka-eagle安装 解压安装包 修改配置文件 程序启动与停止 访问页面 问题解决 kafka安装 前提条件:kafka依赖zookee ...

最新文章

  1. html模板编辑器,可视化编辑网站模板
  2. anaconda在ubuntu中安装后没有_你的大数据平台中病毒了!!!记一次HDP安装后中dr.who病毒并修复的过程...
  3. DockingManager的使用入门
  4. 10---Net基础加强
  5. sdram trp_TRP的完整形式是什么?
  6. SPOJ COT2 (树上莫队)
  7. MVC自学系列之四(MVC模型-Models)
  8. python运行怎么下一步_简明Python3教程 18.下一步是什么
  9. 数据 到 端口 linux,linux如何查看某个端口接收到的数据
  10. MySQL性能半同步复制VS异步复制
  11. jquery.validation.js 表单验证
  12. access数据库密码破解
  13. 软件工程(吕云翔第二版)部分简答题答案
  14. 使用Cisco Packet Tracer之图解无线网络全网互联
  15. cad如何打开stp文件_stp是什么文件?怎么打开stp文件?
  16. h5直接播放amr文件
  17. 透明这种颜色的html,透明颜色HTML5帆布
  18. stm32的IIC驱动0.96OLED
  19. 族蚂智能小程序名片,营销快人一步。
  20. 什么是贝叶斯网络?原理入门

热门文章

  1. retrofit 响应时间_HTTP Retrofit 网络传输
  2. Matlab代码实现绘制趋势图
  3. c语言程序设计小球弹跳,C语言之1 实现弹跳小球
  4. 平安京服务器维护,决战平安京无法登陆怎么解决 无法登陆原因及解决方案一览...
  5. 从视频马赛克看编码量化参数对流控的作用
  6. java计算税后工资switch语句_计算个人所得税!switch语句
  7. 程序员确实更容易秃....
  8. SpringCloudAlibaba——Nacos实现原理详解
  9. 【getchar】在C语言中getchar的使用方法和读取规则
  10. rest api是什么_什么是REST API?