Binary部署方案

除了上面Docker安装部署,我们也可以用Binary安装和部署TiDB集群.

用Binary部署TiDB需要下载对应的压缩包:

在centos上可以用:

  1. > wget http://download.pingcap.org/tidb-latest-linux-amd64.targz
  2. > wget http://download.pingcap.org/tidb-latest-linux-amd64.sha256

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

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

解开压缩包:

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

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

  1. #启动 PD
  2. > ./bin/pd-server --data-dir=/data/tidb/pd \
  3. --log-file=pd.log
  4. #启动 TiKV
  5. > ./bin/tikv-server --pd="127.0.0.1:2379" \
  6. --data-dir=/data/tidb/pd \
  7. --log-file=tikv.log
  8. #启动 TiDB
  9. > ./bin/tidb-server --store=tikv \
  10. --path="127.0.0.1:2379" \
  11. --log-file=tidb.log
  12. #使用官方的 mysql 客户端连接 TiDB
  13. > mysql -h 127.0.0.1 -P 4000 -u root -D test
  14. #多节点集群模式部署

这里我用了和上面Docker部署一样的5台服务器,2个PD,1个TiDB,和3个TiKV来部署TiDB集群.

主机名 IP 部署服务 数据盘挂载
host1 120.92.150.39 PD1 & TiDB /data
host2 120.92.163.32 PD2 /data
host3 120.92.172.35 TiKV1 /data
host4 120.92.169.191 TiKV2 /data
host5 120.92.165.229 TiKV3 /data
  1. # 在 host1,host2上依次启动 PD:
  2. > ./bin/pd-server --name=pd1 \
  3. --data-dir=/data/tidb/pd1 \
  4. --client-urls="http://120.92.150.39:2379" \
  5. --peer-urls="http://120.92.150.39:2380" \
  6. --initial-cluster="pd1=http://120.92.150.39:2380,pd2=http://120.92.163.32:2380" \
  7. --log-file=pd1.log
  8. > ./bin/pd-server --name=pd2 \
  9. --data-dir=/data/tidb/pd2 \
  10. --client-urls="http://120.92.163.32:2379" \
  11. --peer-urls="http://120.92.163.32:2380" \
  12. --initial-cluster="pd1=http://120.92.150.39:2380,pd2=http://120.92.163.32:2380" \
  13. --log-file=pd2.log
  14. # 在 host3,host4,host5上启动 TiKV
  15. > ./bin/tikv-server --pd="120.92.150.39:2379,120.92.163.32:2379" \
  16. --addr="120.92.172.35:20160" \
  17. --data-dir=/data/tidb/tikv1 \
  18. --log-file=tikv1.log
  19. > ./bin/tikv-server --pd="120.92.150.39:2379,120.92.163.32:2379" \
  20. --addr="120.92.169.191:20160" \
  21. --data-dir=/data/tidb/tikv2 \
  22. --log-file=tikv2.log
  23. > ./bin/tikv-server --pd="120.92.150.39:2379,120.92.163.32:2379" \
  24. --addr="120.92.165.229:20160" \
  25. --data-dir=/data/tidb/tikv3 \
  26. --log-file=tikv3.log
  27. # 在 host1上启动 TiDB
  28. > ./bin/tidb-server --store=tikv \
  29. --path="120.92.150.39:2379" \
  30. --log-file=tidb.log
  31. # 使用官方 mysql 客户端连接 TiDB
  32. > mysql -h 120.92.150.39 -P 4000 -u root -D test

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

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