地址规划:
---pd
32.114.67.177 pd1
32.114.76.201 pd2
32.114.76.205 pd3
---tikv
32.114.76.49 tikv1
32.114.67.178 tikv2
32.114.67.179 tikv3
32.114.76.204 tikv4
---tidb
32.114.76.201 tidb1
32.114.76.202 tidb2
32.114.76.203 tidb3
即共有3个pd-server,4个tikv-server,3个tidb-server,其中pd2和tidb1在 同一台服务器上
1、将最新的TiDB安装包上传到各个服务器上
检查文件完整性
tidb@oemcs2:~> sha256sum -c tidb-latest-linux-amd64.sha256
tidb-latest-linux-amd64.tar.gz: OK
# 解开压缩包
tar -xzf tidb-latest-linux-amd64.tar.gz
cd tidb-latest-linux-amd64
2、启动服务。TiDB服务的启动顺序是PD->TIKV->TIDB
分别在PD服务器上启动pd:
./bin/pd-server --name=pd1 \
--data-dir=pd1 \
--client-urls="http://32.114.67.177:2379" \
--peer-urls="http://32.114.67.177:2380" \
--initial-cluster="pd1=http://32.114.67.177:2380,pd2=http://32.114.76.201:2380,pd3=http://32.114.76.205:2380"
./bin/pd-server --name=pd2 \
--data-dir=pd2 \
--client-urls="http://32.114.76.201:2379" \
--peer-urls="http://32.114.76.201:2380" \
--initial-cluster="pd1=http://32.114.67.177:2380,pd2=http://32.114.76.201:2380,pd3=http://32.114.76.205:2380"
./bin/pd-server --name=pd3 \
--data-dir=pd2 \
--client-urls="http://32.114.76.205:2379" \
--peer-urls="http://32.114.76.205:2380" \
--initial-cluster="pd1=http://32.114.67.177:2380,pd2=http://32.114.76.201:2380,pd3=http://32.114.76.205:2380"
分别在Tikv服务器上启动tikv:
./bin/tikv-server --pd="32.114.67.177:2379,32.114.76.201:2379,32.114.76.205:2379" \
--addr="32.114.76.49:20160" \
--store=tikv1
./bin/tikv-server --pd="32.114.67.177:2379,32.114.76.201:2379,32.114.76.205:2379" \
--addr="32.114.67.178:20160" \
--store=tikv2
./bin/tikv-server --pd="32.114.67.177:2379,32.114.76.201:2379,32.114.76.205:2379" \
--addr="32.114.67.179:20160" \
--store=tikv3
./bin/tikv-server --pd="32.114.67.177:2379,32.114.76.201:2379,32.114.76.205:2379" \
--addr="32.114.76.204:20160" \
--store=tikv4
分别在TiDB服务器上启动tidb:
./bin/tidb-server --store=tikv \
--path="32.114.67.177:2379,32.114.76.201:2379,32.114.67.205:2379"
3、如上步骤执行完后,TIDB分布式数据库环境便搭建完成了,可以通过mysql客户端直接登录,端口是4000
mysql -h 32.114.76.199 -P 4000 -u root -D test
登录进去后,使用起来极其像mysql。
像我搭建的这套环境,写了个java程序,简单做了个压测,开1000并发,每个并发insert 1000条记录,大概可以压出11000 TPS,效率还是相当可观的。
---------------------------------------------------------------------------------------------------------------------------------
个人感觉TiDB还是挺牛的,只是相关资料太少了,而且案例也少,鼓弄了几天,便有点无从下手的感觉,想从测试环境拉到生产环境,路漫漫其修远兮!