大家好,又见面了,我是全栈君。
因为公司数据量比较大,一种方法是采用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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108286.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...