Binary部署方案
除了上面Docker安装部署,我们也可以用Binary安装和部署TiDB集群.
用Binary部署TiDB需要下载对应的压缩包:
在centos上可以用:
> wget http://download.pingcap.org/tidb-latest-linux-amd64.targz> 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
我们可以在单机上面,运行和测试 TiDB 集群,请按如下步骤依次启动 PD,TiKV,TiDB.
#启动 PD> ./bin/pd-server --data-dir=/data/tidb/pd \--log-file=pd.log#启动 TiKV> ./bin/tikv-server --pd="127.0.0.1:2379" \--data-dir=/data/tidb/pd \--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#多节点集群模式部署
这里我用了和上面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 |
# 在 host1,host2上依次启动 PD:> ./bin/pd-server --name=pd1 \--data-dir=/data/tidb/pd1 \--client-urls="http://120.92.150.39:2379" \--peer-urls="http://120.92.150.39:2380" \--initial-cluster="pd1=http://120.92.150.39:2380,pd2=http://120.92.163.32:2380" \--log-file=pd1.log> ./bin/pd-server --name=pd2 \--data-dir=/data/tidb/pd2 \--client-urls="http://120.92.163.32:2379" \--peer-urls="http://120.92.163.32:2380" \--initial-cluster="pd1=http://120.92.150.39:2380,pd2=http://120.92.163.32:2380" \--log-file=pd2.log# 在 host3,host4,host5上启动 TiKV> ./bin/tikv-server --pd="120.92.150.39:2379,120.92.163.32:2379" \--addr="120.92.172.35:20160" \--data-dir=/data/tidb/tikv1 \--log-file=tikv1.log> ./bin/tikv-server --pd="120.92.150.39:2379,120.92.163.32:2379" \--addr="120.92.169.191:20160" \--data-dir=/data/tidb/tikv2 \--log-file=tikv2.log> ./bin/tikv-server --pd="120.92.150.39:2379,120.92.163.32:2379" \--addr="120.92.165.229:20160" \--data-dir=/data/tidb/tikv3 \--log-file=tikv3.log# 在 host1上启动 TiDB> ./bin/tidb-server --store=tikv \--path="120.92.150.39:2379" \--log-file=tidb.log# 使用官方 mysql 客户端连接 TiDB> mysql -h 120.92.150.39 -P 4000 -u root -D test
注意:在生产环境中启动 TiKV时,建议使用—config参数指定配置文件路径。
如果使用 nohup 在生产环境中启动集群,需要将启动命令放到一个脚本文件里面执行,否则会出现因为 Shell 退出导致 nohup 启动的进程也收到异常信号退出的问题,具体参考进程异常退出。 功能性测试部署.