文章目录
-
- 部署方式选择
- TiDB-Local单机版
- TiDB-Docker集群版
- 扩展
-
- CentOS安装MySQL
- CentOS安装Git
- CentOS安装Docker
- CentOS安装Docker Compose
- Docker Compose命令
部署方式选择
通过查阅官方文档和网友踩坑经验,我们学习测试时就就直接使用官网推荐的Docker Compose方式快速构建TiDB集群即可(或者使用单机版)
https://gitee.com/pingcap/tidb
TiDB-Local单机版
部署有很多的部署方式,限于环境,我先开始琢磨单机版如何部署。
在Centos 6的版本中如果要部署,这个难度还是比较大的,而且会有很多未知的坑,根据官方的建议,是需要在Centos 7以上的版本中,否则glibc的版本问题会很快碰到。
我们安装一套Centos7,采用快速的单机部署的方式来尝鲜。
1、下载安装包
wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
2、解压文件
tar -zxvf tidb-latest-linux-amd64.tar.gz
cd tidb-latest-linux-amd64
3、启动
启动PD
./bin/pd-server --data-dir=pd --log-file=pd.log &
启动tikv
./bin/tikv-server --pd="127.0.0.1:2379" --data-dir=tikv --log-file=tikv.log &
启动tidb-server
./bin/tidb-server --store=tikv --path="127.0.0.1:2379" --log-file=tidb.log &
4、登录
mysql -h 127.0.0.1 -P 4000 -u root
5、体验
mysql>\s
mysql>show databases;
±——————-+
| Database |
±——————-+
| INFORMATION_SCHEMA |
| METRICS_SCHEMA |
| PERFORMANCE_SCHEMA |
| mysql |
| test |
±——————-+
5 rows in set (0.00 sec)
mysql>select tidb_version();
mysql>select version();
±——————-+
| version() |
±——————-+
| 5.7.25-TiDB-v4.0.9 |
±——————-+
1 row in set (0.01 sec)
mysql>select user,host from mysql.user;
±—–±—–+
| user | host |
±—–±—–+
| root | % |
±—–±—–+
1 row in set (0.00 sec)
mysql>exit
TiDB-Docker集群版
1、准备环境
确保你的机器上已安装:
Docker(17.06.0 及以上版本)
Docker Compose
Git
2、快速部署
下载 tidb-docker-compose
git clone https://github.com/pingcap/tidb-docker-compose.git
3、创建并启动集群
获取最新 Docker 镜像
cd tidb-docker-compose && docker-compose pull && docker-compose up -d
注意:得先启动Docker
systemctl start docker
再执行上面的docker-compose命令
4、访问集群
mysql -h 127.0.0.1 -P 4000 -u root
5、访问集群 Grafana 监控页面
http://192.168.19.130:3000/
默认用户名和密码均为 admin
6、集群数据可视化
http://192.168.19.130:8010/
扩展
CentOS安装MySQL
1.下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.yum安装
yum -y install mysql57-community-release-el7-10.noarch.rpm
3.安装MySQL服务器
yum -y install mysql-community-server
4.启动MySQL
systemctl start mysqld.service
5.查看MySQL运行状态
systemctl status mysqld.service
6.设置开机启动
systemctl enable mysqld
7.找出输入初始密码
grep "password" /var/log/mysqld.log
8.进入数据库
mysql -uroot -p
输入初始密码
9.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@1234';
注意:密码设置必须要大小写字母数字和特殊符号(,/’;:等),不然不能配置成功
10.开启mysql的远程访问
grant all privileges on *.* to 'root'@'%' identified by 'Root@1234' with grant option;
flush privileges;
exit
CentOS安装Git
1.查看是否安装过git,若出现版本号,则代表已经安装了git
git --version
2.使用yum安装git
yum -y install git
CentOS安装Docker
1.卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.设置仓库
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
使用以下命令来设置稳定的仓库。
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
yum install docker-ce docker-ce-cli containerd.io
4.启动 Docker
systemctl start docker
5.通过运行 hello-world
docker run hello-world
CentOS安装Docker Compose
Compose 简介
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。
Compose 使用的三个步骤
使用 Dockerfile 定义应用程序的环境。
使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
最后,执行 docker-compose up 命令来启动并运行整个应用程序。
docker-compose.yml 的配置案例如下(配置参数参考下文)
# yaml 配置实例
version: '3'
services:web:build: .ports:- "5000:5000"volumes:- .:/code- logvolume01:/var/loglinks:- redisredis:image: redis
volumes:logvolume01: {}
1.Compose 安装
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。
运行以下命令以下载 Docker Compose 的当前稳定版本:
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换 1.24.1。
2.将可执行权限应用于二进制文件
chmod +x /usr/local/bin/docker-compose
3.创建软链
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4.测试是否安装成功
docker-compose --version
Docker Compose命令
1、Docker-Compose命令格式
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
命令选项如下
-f,–file FILE指定Compose模板文件,默认为docker-compose.yml,可以多次指定。
-p,–project-name NAME指定项目名称,默认将使用所在目录名称作为项目名。
-x-network-driver 使用Docker的可拔插网络后端特性(需要Docker 1.9+版本)
-x-network-driver DRIVER指定网络后端的驱动,默认为bridge(需要Docker 1.9+版本)
-verbose输出更多调试信息
-v,–version打印版本并退出
2、docker-compose up
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
选项包括
-d 在后台运行服务容器
–no-color 不使用颜色来区分不同的服务的控制输出
–no-deps 不启动服务所链接的容器
–force-recreate 强制重新创建容器,不能与–no-recreate同时使用
–no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
–no-build 不自动构建缺失的服务镜像
–build 在启动容器前构建服务镜像
–abort-on-container-exit 停止所有容器,如果任何一个容器被停止,不能与-d同时使用
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
–remove-orphans 删除服务中没有在compose文件中定义的容器
–scale SERVICE=NUM 设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数
docker-compose up
启动所有服务
docker-compose up -d
在后台启动所有服务
-f 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d
3、docker-compose ps
docker-compose ps [options] [SERVICE...]
docker-compose ps
列出项目中目前的所有容器
4、docker-compose stop
docker-compose stop [options] [SERVICE...]
选项包括
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
docker-compose stop
停止正在运行的容器,可以通过docker-compose start 再次启动
5、docker-compose -h
docker-compose -h
查看帮助
6、docker-compose down
docker-compose down [options]
停止和删除容器、网络、卷、镜像。
选项包括
–rmi type,删除镜像,类型必须是:all,删除compose文件中定义的所有镜像;local,删除镜像名为空的镜像
-v, –volumes,删除已经在compose文件中定义的和匿名的附在容器上的数据卷
–remove-orphans,删除服务中没有在compose中定义的容器
docker-compose down
停用移除所有容器以及网络相关
7、docker-compose logs
docker-compose logs [options] [SERVICE...]
查看服务容器的输出。默认情况下,docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过–no-color来关闭颜色。
docker-compose logs
查看服务容器的输出
8、docker-compose build
docker-compose build [options] [--build-arg key=val...] [SERVICE...]
构建(重新构建)项目中的服务容器。
选项包括
–compress 通过gzip压缩构建上下环境
–force-rm 删除构建过程中的临时容器
–no-cache 构建镜像过程中不使用缓存
–pull 始终尝试通过拉取操作来获取更新版本的镜像
-m, –memory MEM为构建的容器设置内存大小
–build-arg key=val为服务设置build-time变量
服务容器一旦构建后,将会带上一个标记名。可以随时在项目目录下运行
docker-compose build
来重新构建服务
9、docker-compose pull
docker-compose pull [options] [SERVICE...]
拉取服务依赖的镜像。
选项包括
–ignore-pull-failures,忽略拉取镜像过程中的错误
–parallel,多个镜像同时拉取
–quiet,拉取镜像过程中不打印进度信息
docker-compose pull
拉取服务依赖的镜像
10、docker-compose restart
docker-compose restart [options] [SERVICE...]
重启项目中的服务。
选项包括
-t, –timeout TIMEOUT,指定重启前停止容器的超时(默认为10秒)
docker-compose restart
重启项目中的服务
11、docker-compose rm
docker-compose rm [options] [SERVICE...]
删除所有(停止状态的)服务容器。
选项包括
–f, –force,强制直接删除,包括非停止状态的容器
-v,删除容器所挂载的数据卷
docker-compose rm
删除所有(停止状态的)服务容器。推荐先执行docker-compose stop命令来停止容器。
12、docker-compose start
docker-compose start [SERVICE...]
docker-compose start
启动已经存在的服务容器。
13、docker-compose run
docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
在指定服务上执行一个命令。
docker-compose run ubuntu ping www.baidu.com
在指定容器上执行一个ping命令。
14、docker-compose scale
docker-compose scale web=3 db=2
设置指定服务运行的容器个数。通过service=num的参数来设置数量
15、docker-compose pause
docker-compose pause [SERVICE...]
暂停一个服务容器
16、docker-compose kill
docker-compose kill [options] [SERVICE...]
通过发送SIGKILL信号来强制停止服务容器。
支持通过-s参数来指定发送的信号,例如通过如下指令发送SIGINT信号
docker-compose kill -s SIGINT
17、dokcer-compose config
docker-compose config [options]
验证并查看compose文件配置。
选项包括
–resolve-image-digests 将镜像标签标记为摘要
-q, –quiet 只验证配置,不输出。 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
–services 打印服务名,一行一个
–volumes 打印数据卷名,一行一个
18、docker-compose create
docker-compose create [options] [SERVICE...]
为服务创建容器。
选项包括
–force-recreate:重新创建容器,即使配置和镜像没有改变,不兼容–no-recreate参数
–no-recreate:如果容器已经存在,不需要重新创建,不兼容–force-recreate参数
–no-build:不创建镜像,即使缺失
–build:创建容器前,生成镜像
19、docker-compose exec
docker-compose exec [options] SERVICE COMMAND [ARGS...]
选项包括
-d 分离模式,后台运行命令。
–privileged 获取特权。
–user USER 指定运行的用户。
-T 禁用分配TTY,默认docker-compose exec分配TTY。
–index=index,当一个服务拥有多个容器时,可通过该参数登陆到该服务下的任何服务,例如:docker-compose exec –index=1 web /bin/bash ,web服务中包含多个容器
20、docker-compose port
docker-compose port [options] SERVICE PRIVATE_PORT
显示某个容器端口所映射的公共端口。
选项包括
–protocol=proto,指定端口协议,TCP(默认值)或者UDP
–index=index,如果同意服务存在多个容器,指定命令对象容器的序号(默认为1)
21、docker-compose push
docker-compose push [options] [SERVICE...]
推送服务依的镜像。
选项包括
–ignore-push-failures 忽略推送镜像过程中的错误
22、docker-compose ps
docker-compose ps[options] [SERVICE...]
显示各个容器运行的进程情况。
23、docker-compose unpause
docker-compose unpause [SERVICE...]
恢复处于暂停状态中的服务。
24、docker-compose version
docker-compose version
打印版本信息。