TiDB 分布式数据库搭建[通俗易懂]

TiDB 分布式数据库搭建

大家好,又见面了,我是全栈君。

因为公司数据量比较大,一种方法是采用mycat这种数据库中间件的形式。但是感觉不是很方便。后来发现了TiDB打算,可以尝试试用一下。用datax把历史数据转入到TiDB中,然后在TiDB中进行分析。 第一步:现在台式机中的虚拟机中部署起来。 第二步:数据转移 第三部:测试性能,判断是否可用。

官网为TiDB

目前已经在一台服务器上搭建起来一台单机版的TiDB服务器。简单添加了一些数据,发现居然没有原生的mysql快,问了一下高手,说TiDB要需要集群才能发挥优势。 目前是想采用Kettle来同步原来Oracle中的数据到新的数据库中去。但是现在遇到问题就是用jdbc连接会有问题。我相信这个问题会解决的。是在不行可以先同步到mysql,然后我用navicat的工具同步到TiDB。

如果下周有时间的话,我想搭建集群的TiDB数据库,然后再测试一下性能对比。

日均数据量千万级,MySQL、TiDB两种存储方案的落地对比 这篇文章给我信心。

查看了官网,官网有三种部署方法。(Ansible 部署方案),Binary 部署方案 ,Docker 部署方案。目前对我来说最快的部署方案是第二种。但是第一种和第三种也是要学习的。 我先贴一下第二中部署的方式。现在TiDB已经是RC4版本了,距离正式版发布已经不远了。

一个完整的 TiDB 集群包括 PD,TiKV 以及 TiDB。启动顺序依次是 PD,TiKV 以及 TiDB。

阅读本章前,请先确保阅读 部署建议

快速了解和试用 TiDB,推荐使用单节点方式快速部署。

功能性测试 TiDB,推荐使用功能性测试部署。

生产环境使用 TiDB,推荐使用多节点集群模式部署。

目前因为已经搭建了单点方式部署,但是发挥不出优势来。所以想采取功能性测试,等对去年一年的销售进行分析后,如果性能达到要求的话,可以采用多节点集群部署的方式。

系统的话,决定采用Ubuntu。

下载官方 Binary

Linux (CentOS 7+, Ubuntu 14.04+)

下载压缩包

wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz wget http://download.pingcap.org/tidb-latest-linux-amd64.sha256

检查文件完整性,返回 ok 则正确

sha256sum -c tidb-latest-linux-amd64.sha256

解开压缩包

tar -xzf tidb-latest-linux-amd64.tar.gz cd tidb-latest-linux-amd64

检查文件完整性,返回 ok 则正确

sha256sum -c tidb-latest-linux-amd64-centos6.sha256

解开压缩包

tar -xzf tidb-latest-linux-amd64-centos6.tar.gz cd tidb-latest-linux-amd64-centos6 单节点方式快速部署


我们可以在单机上面,运行和测试 TiDB 集群,请按如下步骤依次启动 PD,TiKV,TiDB:


启动 PD
./bin/pd-server --data-dir=pd \
                --log-file=pd.log
启动 TiKV
./bin/tikv-server --pd="127.0.0.1:2379" \
                  --data-dir=tikv \
                  --log-file=tikv.log
启动 TiDB
./bin/tidb-server --store=tikv \
                  --path="127.0.0.1:2379" \
                  --log-file=tidb.log
使用官方的 mysql 客户端连接 TiDB
mysql -h 127.0.0.1 -P 4000 -u root -D test
多节点集群模式部署

在生产环境中,我们推荐多节点部署 TiDB 集群,首先请参考部署建议。

这里我们使用六个节点,部署三个 PD,三个 TiKV,以及一个 TiDB,各个节点以及所运行服务信息如下:

Name Host IP Services node1 192.168.199.113 PD1, TiDB node2 192.168.199.114 PD2 node3 192.168.199.115 PD3 node4 192.168.199.116 TiKV1 node5 192.168.199.117 TiKV2 node6 192.168.199.118 TiKV3 请按如下步骤 依次启动 PD 集群,TiKV 集群以及 TiDB:

在 node1,node2,node3 依次启动 PD
./bin/pd-server --name=pd1 \
                --data-dir=pd1 \
                --client-urls="http://192.168.199.113:2379" \
                --peer-urls="http://192.168.199.113:2380" \
                --initial-cluster="pd1=http://192.168.199.113:2380" \
                --log-file=pd.log

./bin/pd-server --name=pd2 \
                --data-dir=pd2 \
                --client-urls="http://192.168.199.114:2379" \
                --peer-urls="http://192.168.199.114:2380" \
                --join="http://192.168.199.113:2379" \
                --log-file=pd.log

./bin/pd-server --name=pd3 \
                --data-dir=pd3 \
                --client-urls="http://192.168.199.115:2379" \
                --peer-urls="http://192.168.199.115:2380" \
                --join="http://192.168.199.113:2379" \
                --log-file=pd.log
在 node4,node5,node6 启动 TiKV
./bin/tikv-server --pd="192.168.199.113:2379,192.168.199.114:2379,192.168.199.115:2379" \
                  --addr="192.168.199.116:20160" \
                  --data-dir=tikv1 \
                  --log-file=tikv.log

./bin/tikv-server --pd="192.168.199.113:2379,192.168.199.114:2379,192.168.199.115:2379" \
                  --addr="192.168.199.117:20160" \
                  --data-dir=tikv2 \
                  --log-file=tikv.log

./bin/tikv-server --pd="192.168.199.113:2379,192.168.199.114:2379,192.168.199.115:2379" \
                  --addr="192.168.199.118:20160" \
                  --data-dir=tikv3 \
                  --log-file=tikv.log
在 node1 启动 TiDB
./bin/tidb-server --store=tikv \
                  --path="192.168.199.113:2379,192.168.199.114:2379,192.168.199.115:2379" \
                  --log-file=tidb.log
使用官方 mysql 客户端连接 TiDB
mysql -h 192.168.199.113 -P 4000 -u root -D test

####注意: 在生产环境中启动 TiKV 时,建议使用 –config 参数指定配置文件路径。

如果使用 nohup 在生产环境中启动集群,需要将启动命令放到一个脚本文件里面执行,否则会出现因为 Shell 退出导致 nohup 启动的进程也收到异常信号退出的问题,具体参考进程异常退出。 功能性测试部署

####这是目前想采取的模式

如果只是对 TiDB 进行测试,并且机器数量有限,我们可以只启动一台 PD 测试 整个集群。

这里我们使用四个节点,部署一个 PD,三个 TiKV,以及一个 TiDB,各个节点以及所运行服务信息如下:

Name Host IP Services node1 192.168.199.113 PD1, TiDB node2 192.168.199.114 TiKV1 node3 192.168.199.115 TiKV2 node4 192.168.199.116 TiKV3 请按如下步骤 依次启动 PD 集群,TiKV 集群以及 TiDB:

在 node1 启动 PD
./bin/pd-server --name=pd1 \
                --data-dir=pd1 \
                --client-urls="http://192.168.199.113:2379" \
                --peer-urls="http://192.168.199.113:2380" \
                --initial-cluster="pd1=http://192.168.199.113:2380" \
                --log-file=pd.log
在 node2,node3,node4 启动 TiKV
./bin/tikv-server --pd="192.168.199.113:2379" \
                  --addr="192.168.199.114:20160" \
                  --data-dir=tikv1 \
                  --log-file=tikv.log

./bin/tikv-server --pd="192.168.199.113:2379" \
                  --addr="192.168.199.115:20160" \
                  --data-dir=tikv2 \
                  --log-file=tikv.log

./bin/tikv-server --pd="192.168.199.113:2379" \
                  --addr="192.168.199.116:20160" \
                  --data-dir=tikv3 \
                  --log-file=tikv.log
在 node1 启动 TiDB
./bin/tidb-server --store=tikv \
                  --path="192.168.199.113:2379" \
                  --log-file=tidb.log
使用官方 mysql 客户端连接 TiDB
mysql -h 192.168.199.113 -P 4000 -u root -D test

如果这个方案成功了的话,对于原本存放在oracle中的冷数据,也可以分析起来了。

大家也可以参考下面的文章 PingCAP布道Percona Live 2017 展示TiDB强悍性能 TiDB 的正确使用姿势 [是时候选择NewSQL数据库了(http://blog.csdn.net/erlib/article/details/53420606)

转载于:https://my.oschina.net/miaojiangmin/blog/1498647

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108286.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月5日 下午6:00
下一篇 2022年3月5日 下午7:00


相关推荐

  • 笛卡尔积的解释和作用[通俗易懂]

    笛卡尔积的解释和作用[通俗易懂]一:笛卡尔积的解释例给出二个域:假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。[编辑本段]笛卡尔积的运算性质  由于有序对<x,y>中x,y的位置是确定的,因此A×B…

    2022年7月11日
    26
  • pycharm社区版激活码【在线注册码/序列号/破解码】

    pycharm社区版激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    51
  • BootstrapValidator中文文档手册

    BootstrapValidator中文文档手册BootstrapVal 0 5 3 下载地址 https download csdn net download 目前支持 4 种大的校验方式 分别是 Input 针对 input textarea select 控件 CompareValid AjaxValidato RegexValidat FunctionVali

    2026年3月17日
    2
  • RSA登录加密_rsa私钥加密公钥解密

    RSA登录加密_rsa私钥加密公钥解密随手记2本文章仅作学习参考使用,不做其他使用。​​​​​​网站:aHR0cHM6Ly9iZWlqaW5nLnR1aXR1aTk5LmNvbS9kZW5nbHUuaHRtbA==输入登录密码“123456”,分析抓包数据如下:返回了一个document类型的包,表单提交的方式,无法使用跟栈的方式定位加密方法,所以这里我使用搜索url的方式定位加密位置,如下:然后在全局搜索关键字“l_submit”,直接跟进加密方法里去,下断点开始调试得到了密码的明文数据,并且在下面也发…

    2025年8月26日
    6
  • STM32 + UCOSII 操作系统(简单讲解)「建议收藏」

    STM32 + UCOSII 操作系统(简单讲解)「建议收藏」前言这是我将UCOSII操作系统移植在STM32单片机上后进行UCOSII操作系统学习的一些笔记与理解,此文最后会附上我自己在UCOSII操作系统下使用STM32写的ESP8266+onenet+http协议的程序链接,可以作为参考,如果文中有不当的地方,还请各位大佬加以中指正,我一定会虚心求教。参考资料:正点原子RTOS操作系统讲解,参考的文章:(53条消息)STM32学习笔记一一UCOSII(1)_霁风AI-CSDN博客_ucosii1.UCOSII操作系统的简介前台后台系统相信大家都

    2022年6月4日
    37
  • tomcat 启动后标题修改 title修改「建议收藏」

    tomcat 启动后标题修改 title修改「建议收藏」Tomcat bin目录下用startup.bat启动Tomcat ,启动窗口显示的Title 更改方法如下:1 在bin目录下找到catalina.bat ,用文本模式打开2 找到 if “%TITLE%” == “” set TITLE=Tomcat 这句3 把 set TITLE=Tomcat 更改为 set TITLE=(想使用的名称包括中文) 即可。如图:…

    2022年8月19日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号