文章目录
概述
Ansible 是一款自动化运维工具,TiDB-Ansible 是 PingCAP 基于 Ansible playbook 功能编写的集群部署工具。本文档介绍如何使用 TiDB-Ansible 部署一个完整的 TiDB 集群。
TiDB官方文档
注: 对于生产环境,须使用 TiDB-Ansible 部署 TiDB 集群。如果只是用于测试 TiDB 或体验 TiDB 的特性,建议使用 Docker Compose 在单机上快速部署 TiDB 集群
准备机器
- 部署目标机器若干
(1). 建议 4 台及以上,TiKV 至少 3 实例,且与 TiDB、PD 模块不位于同一主机,详见TiDB部署建议
(2). 推荐安装 CentOS 7.2 及以上版本 Linux 操作系统,x86_64 架构 (amd64)。
(3). 机器之间内网互通。 - 部署中控机一台
(1). 中控机可以是部署目标机器中的某一台。
(2). 推荐安装 CentOS 7.2 及以上版本 Linux 操作系统(默认包含 Python 2.7)。
(3). 该机器需开放外网访问,用于下载 TiDB 及相关软件安装包。
一、环境说明
一共七台服务器,三台跑TiKV server,三台跑PD server, 两台跑TiDB server
内网ip | 外网ip | 角色 |
---|---|---|
192.168.56.156 | 192.168.43.191 | 下载机 |
192.168.56.155 | 无 | PD、Prometheus、Grafana、Pushgateway、Node_exporter |
192.168.56.154 | 无 | PD、TiDB、Node_exporter |
192.168.56.153 | 无 | PD、TiDB、Node_exporter |
192.168.56.152 | 无 | TiKV、Node_exporter |
192.168.56.151 | 无 | TiKV、Node_exporter |
192.168.56.150 | 无 | TiKV、Node_exporter |
标准 TiDB 集群需要 6 台机器:
- 2 个 TiDB 节点
- 3 个 PD 节点
- 3 个 TiKV 节点,第一台 TiDB 机器同时用作监控机
二、准备工作
1、创建tidb用户及sudo免密
用root用户分别登录到192.168.56.150-155
机器创建tidb用户并设置免密
# 创建tidb用户
$ useradd tidb
$ passwd tidb # 密码也设置为tidb
# 设置免密
$ visudo # 或者 vim /etc/sudoers
# 跳到最后新增一行
tidb ALL=(ALL) NOPASSWD: ALL
生成 ssh key: 执行 su 命令从 root 用户切换到 tidb 用户下。
#su tidb
创建 tidb 用户的 ssh key, 提示 Enter passphrase 时直接回车即可。执行成功后,ssh 私钥文件为 /home/tidb/.ssh/id_rsa, ssh 公钥文件为 /home/ti