- 单机安装
http://blog.csdn.net/firetaker/article/details/73536373
wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
tar -xzf tidb-latest-linux-amd64.tar.gz
cd tidb-latest-linux-amd64
启动pd-server
./bin/pd-server --name=pd1 \
--data-dir=pd1 \
--client-urls="http://127.0.0.1:2379" \
--log-file=pd.log
启动三个KV进程
./bin/tikv-server --pd="127.0.0.1:2379" \
--addr="127.0.0.1:20160" \
--data-dir=tikv1 \
--log-file=tikv1.log
./bin/tikv-server --pd="127.0.0.1:2379" \
--addr="127.0.0.1:20161" \
--data-dir=tikv2 \
--log-file=tikv2.log
./bin/tikv-server --pd="127.0.0.1:2379" \
--addr="127.0.0.1:20162" \
--data-dir=tikv3 \
--log-file=tikv3.log
启动tidb
./bin/tidb-server --store=tikv \
--path="127.0.0.1:2379" \
--log-file=tidb.log
链接验证
mysql -h 192.168.199.113 -P 4000 -u root -D test
2.集群安装
http://blog.csdn.net/linuxheik/article/details/52575073
http://blog.51cto.com/dbaspace/1873302
集群PD启动:
/bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://192.168.1.113:2379"
--peer-urls="http://192.168.1.113:2380" \
--initial-cluster="pd1=http://192.168.1.113:2380,pd2=http://192.168.1.114:2380,pd3=http://192.168.1.115:2380"
其他节点 只要修改--data-dir --client-urls --peer-urls为当前结点即可
集群tikv启动:
tikv-server --pd="ip:2379,ip:2379,ip:2379" --addr="tikv_ip:20160" --store=tikv1
tikv-server --pd="ip:2379,ip:2379,ip:2379" --addr="tikv_ip:20160" --store=tikv2
tikv-server --pd="ip:2379,ip:2379,ip:2379" --addr="tikv_ip:20160" --store=tikv3
启动tidb:
tidb-server --store=tikv --path="pd_ip1:2379,pd_ip2:2379,pd_ip3:2379"
##在3个节点启动tidb的功能
登陆集群:
要实现tidb负载均衡可以haproxy_keepalived
mysql -hpd_ip_1/2/3 -P4000 -uroot -D TEST
动态添加pd
pd-server --name=pd4 --client-urls="http://host4:2379" --per-urls="http://host4:2380"
--join="http://host:2379" 为之前的第一节点
TiKV
动态新加入一个新的 TiKV 服务是非常容易的,我们可以直接启动一个 TiKV 服务,PD 会自动检测到, 并开始做整个集群的 balance,将其他 TiKV 的数据移动到新加入的 TiKV 里面。
我们也能够显式的告诉 PD 去删除某个 TiKV。PD 会先把这个 TiKV 标记为正在下线的状态, 然后把这个 TiKV 上的数据均匀地迁移到其他 TiKV 上面。当这个 TiKV 上的数据已经迁移 完了,PD 会把这个 TiKV 标记为完成下线的状态,这时候就可以安全地把这个 TiKV 从集 群中去掉。
假设我们要删除一个 store id 为 1 的 TiKV,可以调用 PD 的 HTTP API 来操作:
curl -X DELETE http://host:port/pd/api/v1/store/1
然后可以查看这个 TiKV 的当前状态:
curl http://host:port/pd/api/v1/store/1
如果这个 TiKV 正在下线,对应的 state=1,如果这个 TiKV 完成下线,对应的 state=2, 否则 state=0。
更详细的 API 文档可以参考 PD APIv1。
TiDB
TiDB 是一个无状态的服务,这也就意味着我们能直接添加和删除 TiDB。需要注意的是如果我们在 TiDB 的服务的前面搭建了一个 proxy(譬如 HAProxy),我们需要更新 proxy 的配置并重新载入。
编译安装