tidb的docker部署(低配版--测试用)

tidb的docker部署(低配版–测试用)

TiDB 简介
TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和 NoSQL 的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用性。TiDB 的目标是为 OLTP (Online Transactional Processing) 和 OLAP (Online Analytical Processing) 场景提供一站式的解决方案。
TiDB 具备如下特性:

高度兼容 MySQL
大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。
水平弹性扩展
通过简单地增加新节点即可实现 TiDB 的水平扩展,按需扩展吞吐或存储,轻松应对高并发、海量数据场景。
分布式事务
TiDB 100% 支持标准的 ACID 事务)。
真正金融级高可用
相比于传统主从 (M-S) 复制方案,基于 Raft 的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复 (auto-failover),无需人工介入。
一站式 HTAP 解决方案
TiDB 作为典型的 OLTP 行存数据库,同时兼具强大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP 解决方案,一份存储同时处理 OLTP & OLAP,无需传统繁琐的 ETL 过程。
云原生 SQL 数据库
TiDB 是为云而设计的数据库,支持公有云、私有云和混合云,使部署、配置和维护变得十分简单。

TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 TiSpark 项目来完成。
TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。
(简介摘自官方文档 https://pingcap.com/docs-cn/)
首先环境要求
需要三台主机(官方提示需要六台,其中三台为tikv主机,三台为pd主机,一台tidb主机可在pd主机上)
IP分别为:
192.168.1.101 (tidb主机和tikv1主机)
192.168.1.102 (pd1主机与tikv2主机)
192.168.1.103 (pd2主机与tikv3主机)
以下我们用101、102、103来简称
在三台主机上都部署tikv,在101部署tidb,在102和103上部署pd

一、配置yum源(三台主机都要配置)
~]# yum install -y yum-utils device-mapper-persistent-data lvm2
~]# yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
而后选择是否开启edge和test仓库(无需做也可以,因为默认开启stable仓库)
~]#yum-config-manager --enable docker-ce-edge
~]#yum-config-manager --enable docker-ce-test
可以查看docker仓库里的所有版本:
~]# yum list docker-ce --showduplicates | sort -r
安装docker最新版( 也可以下载指定的版本)
~]# yum -y install docker-ce
~]# systemctl start docker 启动docker
~]# systemctl enable docker
二、下载镜像
下载容器(每台主机下载相应的镜像,如果嫌下载时间长可在一台下载,而后将镜像打压成tar包,传至相应的主机)
~]# docker pull pingcap/tidb:latest
~]# docker pull pingcap/tikv:latest
~]# docker pull pingcap/pd:latest在这里插入图片描述
可将镜像压缩成tar包,将压缩包传至其他对应主机:
~]# docker save docker.io/pingcap/pd:latest -o docker.pd.tar
~]# docker save docker.io/pingcap/tikv:latest -o docker.tikv.tar
~]# docker save docker.io/pingcap/tidb:latest -o docker.tidb.tar
在其他主机上用docker解压相应的tar包成镜像
docker load -i docker.tidb.tar
docke load -i dokcer.tikv.tar
docker load -i docker.pd.tar
三、配置节点

1. 配置pd节点
在102和103上配置pd节点
启动容器
在102主机上
docker run -itd --name=pd1
-p 2379:2379
-p 2380:2380
-v /etc/localtime:/etc/localtime:ro
-v /data:/data
pingcap/pd:latest
–name=“pd1”
–data-dir="/data/pd1"
–client-urls=“http://0.0.0.0:2379”
–advertise-client-urls=“http://192.168.1.102:2379”
–peer-urls=“http://0.0.0.0:2380”
–advertise-peer-urls=“http://192.168.1.102:2380”
–initial-cluster=“pd1=http://192.168.1.102:2380,pd2=http://192.168.1.103:2380”
在103主机上
docker run -itd --name=pd2
-p 2379:2379
-p 2380:2380
-v /etc/localtime:/etc/localtime:ro
-v /data:/data
pingcap/pd:latest
–name=“pd2”
–data-dir="/data/pd2"
–client-urls=“http://0.0.0.0:2379”
–advertise-client-urls=“http://192.168.1.103:2379”
–peer-urls=“http://0.0.0.0:2380”
–advertise-peer-urls=“http://192.168.1.103:2380”
–initial-cluster=“pd1=http://192.168.1.102:2380,pd2=http://192.168.1.103:2380”
2.配置tikv节点
三台主机都要配置
101主机上
docker run -d --name tikv1
-p 20160:20160
–ulimit nofile=1000000:1000000
-v /etc/localtime:/etc/localtime:ro
-v /data:/data
pingcap/tikv:latest
–addr=“0.0.0.0:20160”
–advertise-addr=“192.168.1.101:20160”
–data-dir="/data/tikv1"
-pd=“192.168.1.102:2379,192.168.1.103:2379”
102主机上
docker run -d --name tikv2
-p 20160:20160
–ulimit nofile=1000000:1000000
-v /etc/localtime:/etc/localtime:ro
-v /data:/data
pingcap/tikv:latest
–addr=“0.0.0.0:20160”
–advertise-addr=“192.168.1.102:20160”
–data-dir="/data/tikv2"
-pd=“192.168.1.102:2379,192.168.1.103:2379”
103主机上
docker run -d --name tikv3
-p 20160:20160
–ulimit nofile=1000000:1000000
-v /etc/localtime:/etc/localtime:ro
-v /data:/data
pingcap/tikv:latest
–addr=“0.0.0.0:20160”
–advertise-addr=“192.168.1.103:20160”
–data-dir="/data/tikv3"
-pd=“192.168.1.102:2379,192.168.1.103:2379”
3. 配置tidb节点
在101主机上
docker run -d --name tidb
-p 4000:4000
-p 10080:10080
-v /etc/localtime:/etc/localtime:ro
pingcap/tidb:latest
–store=tikv
–path=“192.168.1.102:2379,192.168.1.103:2379”
在启动容器时,应当先启动tikv,再启动pd容器和tidb容器
四、连接测试
使用MYSQL标准客户端连接TIDB测试:
~]# mysql -h 127.0.0.1 -P 4000 -u root -D test
五、安装时可能遇到的报错
查看容器日志:
docker logs -f -t --since=“2019-11-11” --tail=100 33
33 ---------------> 容器的ID
2019-11-11 ----> 时间
100 ----------->最后多少行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值