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 启动的进程也收到异常信号退出的问题,具体参考进程异常退出。 功能性测试部署.