PingCAP
  • 文档
  • 案例
  • 博客
  • 关于
  • 下载
PingCAP
  • 文档
  • 案例
  • 博客
  • 关于
  • 下载

Contact

  • 微信扫一扫
    微信ID:pingcap2015

English
文档
  • 关于 TiDB
    • TiDB 简介
    • TiDB 整体架构
    • TiDB 核心特性
  • TiDB 快速入门
    • 快速入门指南
    • SQL 基本操作
  • TiDB 用户文档
    • TiDB 数据库管理
      • TiDB 服务
      • TiDB 进程启动参数
      • TiDB 数据目录
      • TiDB 系统数据库
      • TiDB 系统变量
      • TiDB 专用系统变量和语法
      • TiDB 服务器日志文件
      • TiDB 访问权限管理
      • TiDB 用户账户管理
      • 使用加密连接
    • SQL 优化
      • 理解 TiDB 执行计划
      • 统计信息
    • 语言结构
      • 字面值
      • 数据库、表、索引、列和别名
      • 关键字和保留字
      • 用户变量
      • 表达式语法
      • 注释语法
    • 字符集和时区
      • 字符集支持
      • 字符集配置
      • 时区
    • 数据类型
      • 数值类型
      • 日期和时间类型
      • 字符串类型
      • JSON 数据类型
      • 枚举类型
      • 集合类型
      • 数据类型默认值
    • 函数和操作符
      • 函数和操作符概述
      • 表达式求值的类型转换
      • 操作符
      • 控制流程函数
      • 字符串函数
      • 数值函数与操作符
      • 日期和时间函数
      • 位函数和操作符
      • Cast 函数和操作符
      • 加密和压缩函数
      • 信息函数
      • JSON 函数
      • GROUP BY 聚合函数
      • 其他函数
      • 精度数学
    • SQL 语句语法
      • 数据定义语句 (DDL)
      • 数据操作语句 (DML)
      • 事务语句
      • 数据库管理语句
      • Prepared SQL 语句语法
      • 实用工具语句
      • TiDB SQL 语法图
    • JSON 支持
    • Connectors 和 API
    • TiDB 事务隔离级别
    • 错误码与故障诊断
    • 与 MySQL 兼容性对比
    • TiDB 内存控制
    • 慢查询日志
    • 高级功能
      • 历史数据回溯
      • 垃圾回收 (GC)
  • TiDB 运维文档
    • 软硬件环境需求
    • 部署集群
      • Ansible 部署方案(强烈推荐)
      • 离线 Ansible 部署方案
      • Docker 部署方案
      • Docker Compose 部署方案
      • 跨机房部署方案
    • 配置集群
      • 参数解释
      • TiDB 配置项解释
      • 使用 Ansible 变更组件配置
      • 开启 TLS 验证
      • 生成自签名证书
    • 监控集群
      • 整体监控框架概述
      • 重要监控指标详解
      • 组件状态 API & 监控
    • 扩容缩容
      • 集群扩容缩容方案
      • 使用 Ansible 扩容缩容
    • 升级
      • 升级组件版本
      • TiDB 2.0 升级操作指南
    • 性能调优
    • 备份与迁移
      • 备份与恢复
      • 数据迁移
        • 数据迁移概述
        • 全量导入
        • 增量导入
    • 故障诊断
  • TiDB 周边工具
    • Syncer
    • Loader
    • TiDB-Binlog
    • PD Control
    • PD Recover
    • TiKV Control
    • TiDB Controller
  • TiSpark 文档
    • TiSpark 快速入门指南
    • TiSpark 用户指南
  • 常见问题与解答(FAQ)
  • 最佳实践
  • 版本发布历史
    • 2.1 RC3
    • 2.1 RC2
    • 2.0.7
    • 2.1 RC1
    • 2.0.6
    • 2.0.5
    • 2.1 Beta
    • 2.0.4
    • 2.0.3
    • 2.0.2
    • 2.0.1
    • 2.0
    • 2.0 RC5
    • 2.0 RC4
    • 2.0 RC3
    • 2.0 RC1
    • 1.1 Beta
    • 1.1 Alpha
    • 1.0
    • Pre-GA
    • RC4
    • RC3
    • RC2
    • RC1
  • TiDB 路线图
  • 用户案例
    • 北京银行
    • 海航
    • 今日头条
    • 转转
    • Mobike
    • 饿了么(一)
    • 饿了么(二)
    • 爱奇艺
    • 易果生鲜
    • 同程旅游
    • 去哪儿
    • G7
    • 一面数据
    • 凤凰网
    • 猿辅导
    • Mobikok
    • 二维火
    • 客如云
    • Ping++
    • 乐视云
    • 零氪科技
    • 威锐达测控
    • 盖娅互娱
    • 游族网络
    • 西山居
    • FUNYOURS JAPAN
    • 特来电
    • 万达网络
    • 360金融
    • 中国电信翼支付
    • 某电信运营商
  • 更多资源
    • 常用工具
    • PingCAP 团队技术博客
    • 知乎专栏
    • Weekly
    • 英文文档

离线 TiDB Ansible 部署方案

准备机器

  1. 下载机一台

    • 该机器需开放外网访问,用于下载 TiDB-Ansible、TiDB 及相关软件安装包。
    • 推荐安装 CentOS 7.3 及以上版本 Linux 操作系统。
  2. 部署目标机器若干及部署中控机一台

    • 系统要求及配置参考准备机器。
    • 可以无法访问外网。

在中控机上安装系统依赖包

下载系统依赖离线安装包,上传至中控机。该离线包仅支持 CentOS 7 系统,包含 pip 及 sshpass。

# tar -xzvf ansible-system-rpms.el7.tar.gz
# cd ansible-system-rpms.el7
# chmod u+x install_ansible_system_rpms.sh
# ./install_ansible_system_rpms.sh

安装完成后,可通过 pip -V 验证 pip 是否安装成功:

# pip -V
 pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

如果你的系统已安装 pip,请确认版本 >= 8.1.2,否则离线安装 ansible 及其依赖时,会有兼容问题。

在中控机上创建 tidb 用户,并生成 ssh key

参考在中控机上创建 tidb 用户,并生成 ssh key 即可。

在中控机器上离线安装 Ansible 及其依赖

以下是 CentOS 7 系统 Ansible 离线安装方式:

目前 release-2.0 及 master 版本兼容 Ansible 2.5 版本,Ansible 及相关依赖版本记录在 tidb-ansible/requirements.txt 文件中,请下载 Ansible 2.5 离线安装包上传至中控机。

下载 Ansible 2.5 离线安装包

下面以安装 Ansible 2.5 为例:

# tar -xzvf ansible-2.5.0-pip.tar.gz
# cd ansible-2.5.0-pip/
# chmod u+x install_ansible.sh
# ./install_ansible.sh

安装完成后,可通过 ansible --version 查看版本:

# ansible --version
 ansible 2.5.0

在下载机上下载 TiDB-Ansible 及 TiDB 安装包

  1. 在下载机上安装 Ansible

    请按以下方式在 CentOS 7 系统的下载机上在线安装 Ansible。安装完成后,可通过 ansible --version 查看版本,请务必确认是 Ansible 2.5.0 版本,否则会有兼容问题。

    # yum install epel-release
    # yum install ansible curl
    # ansible --version   
      ansible 2.5.0
  2. 下载 tidb-ansible

    使用以下命令从 Github TiDB-Ansible 项目上下载 TiDB-Ansible 相应版本,默认的文件夹名称为 tidb-ansible,以下为各版本下载示例,版本选择可以咨询官方。

    下载 2.0 GA 版本:

    git clone -b release-2.0 https://github.com/pingcap/tidb-ansible.git

    或

    下载 master 版本:

    git clone https://github.com/pingcap/tidb-ansible.git
  3. 执行 local_prepare.yml playbook,联网下载 TiDB binary 到下载机

    cd tidb-ansible
    ansible-playbook local_prepare.yml
  4. 将执行完以上命令之后的 tidb-ansible 文件夹拷贝到中控机 /home/tidb 目录下,文件属主权限需是 tidb 用户。

在中控机上配置部署机器 ssh 互信及 sudo 规则

参考在中控机上配置部署机器 ssh 互信及 sudo 规则即可。

在部署目标机器上安装 NTP 服务

如果你的部署目标机器时间、时区设置一致,已开启 NTP 服务且在正常同步时间,此步骤可忽略,可参考如何检测 NTP 服务是否正常。

参考在部署目标机器上安装 NTP 服务即可。

在部署目标机器上配置 CPUfreq 调节器模式

参考在部署目标机器上配置 CPUfreq 调节器模式即可。

在部署目标机器上添加数据盘 ext4 文件系统挂载参数

参考在部署目标机器上添加数据盘 ext4 文件系统挂载参数即可。

分配机器资源,编辑 inventory.ini 文件

参考分配机器资源,编辑 inventory.ini 文件即可。

部署任务

  1. ansible-playbook local_prepare.yml 该 playbook 不需要再执行。

  2. Grafana Dashboard 上的 Report 按钮可用来生成 PDF 文件,此功能依赖 fontconfig 包及英文字体,如需使用该功能,请下载 font 离线安装包上传至 grafana_servers 机器上安装。该离线包仅支持 CentOS 7 系统,包含 fontconfig 及 open-sans-fonts。

    $ tar -xzvf grafana-font-rpms.el7.tar.gz
    $ cd grafana-font-rpms.el7
    $ chmod u+x install_grafana_font_rpms.sh
    $ ./install_grafana_font_rpms.sh
  3. 参考部署任务即可。

测试集群

参考测试集群即可。

"离线 TiDB Ansible 部署方案" 更新于 Aug 23 2018: op-guide: add missing arguments (9051beb)
修改本文

本页导航

产品

  • TiDB
  • TiSpark
  • TiDB 路线图

文档

  • 快速入门
  • 最佳实践
  • 常见问题解答
  • TiDB 周边工具
  • 版本发布说明

资源

  • 博客
  • GitHub
  • 知乎专栏

公司

  • 关于我们
  • 招贤纳士
  • 新闻报道

联系我们

  • Twitter
  • LinkedIn
  • Reddit
  • Google Group
  • Stack Overflow
  • 微信公众号

    微信扫一扫
    微信ID:pingcap2015

© 2018 北京平凯星辰科技发展有限公司

English