Tidb 离线Ansible方式部署实践
1.最近浏览到一个比较新的分布式数据库Tidb,开源看起来比较牛的样子,一时手痒就动手试试部署
2.参考官方 Ansible 离线方式部署 :https://pingcap.com/docs-cn/op-guide/offline-ansible-deployment/
3.环境:Win7+VirtualBox 虚拟机 ,网络环境:Win7 可以通过代理上网,6台虚拟机统一采用 hostonly 方式,
本来如果通过 可以上网的linux 机器作为下载机器和中控机器的话不需要这么没法,但内网代理各种限制,一致没搞通 linux 虚拟机上网
只能通过windows 下载需要的 gz 文件。
4.先从虚拟机创建开始:
新建虚拟机
下一步下一步到选择存储虚拟磁盘的位置 可以默认创建一个专用的存储目录 这里存在 F:\ROS
下
选择下载好的 CentOS7 ISO 文件
安装过程记得添加用户 tidb 密码 tidb 同时服用管理员权限
时区选择:上海 这个在NTP 时间同步时会遇到
root root 密码设置
新建tidb 用户 密码 tidb 静待安装完成
我们用第一个 hostonly 网络
修改网络配置 固定第一台中控机 IP地址为 192.168.56.100
这个百度上有我就不在一步一步操作了
基本配置完成后测试下网络是否可以用 远程工具远程
下一步就是通过 virtualbox 的磁盘复制方式来复制虚拟机
点开
虚拟介质管理
选择刚创建的虚拟机
复制 选择存储目录 重命名即可 至少需要复制出5台
类似如此
新建虚拟机
下一步下一步到选择虚拟磁盘是选择刚刚复制的vdi 文件
其他虚拟机类同
进去每个虚拟器设置为不同的IP地址,并测试网络是否互通
如果不通需要关闭防火墙
- systemctl stop firewalld
CentOS 7 系统 Ansible 离线安装方式:
下载 Ansible离线安装包 ,上传至中控机。
参考官方文档 下载 Ansible
http://download.pingcap.org/ansible-2.4-rpms.el7.tar.gz
通过FTP软件 上传 ansible 压缩包
放在 rpm 这个文件夹下
参考官方文档
- # tar -xzvf ansible-2.4-rpms.el7.tar.gz
- # cd ansible-2.4-rpms.el7
- # rpm -ivh PyYAML*rpm libyaml*rpm python-babel*rpm python-backports*rpm python-backports-ssl_match_hostname*rpm python-cffi*rpm python-enum34*rpm python-httplib2*rpm python-idna*rpm python-ipaddress*rpm python-jinja2*rpm python-markupsafe*rpm python-paramiko*rpm python-passlib*rpm python-ply*rpm python-pycparser*rpm python-setuptools*rpm python-six*rpm python2-cryptography*rpm python2-jmespath*rpm python2-pyasn1*rpm sshpass*rpm
- # rpm -ivh ansible-2.4.2.0-.el7.noarch.rpm
解压安装
输入命令提示版本信息
下载 tidb-ansible
- git clone https://github.com/pingcap/tidb-ansible.git
官方说明
以上方法联网下载,但我们内网linux 因为代理无法下载 所以需要手动下载文件
使用 VSCode 打开 下载的 tidb-ansible 解压包
我一开始不知道有这个文件,是通过命令提示错误信息自己搜索在网上下载的,但因为最后一个 tiSpark 的 jar 包文件实在是没搜到在哪下载,才想到
到这个配置中搜索 tispark -*.jar 包,才找到这个文件的
我贴出来吧:
- ---
- third_party_packages:
- - name: prometheus
- version: 2.0.
- url: "https://github.com/prometheus/prometheus/releases/download/v2.0.0/prometheus-2.0.0.linux-amd64.tar.gz"
- - name: alertmanager
- version: 0.9.
- url: "https://github.com/prometheus/alertmanager/releases/download/v0.9.1/alertmanager-0.9.1.linux-amd64.tar.gz"
- - name: node_exporter
- version: 0.15.
- url: "https://github.com/prometheus/node_exporter/releases/download/v0.15.2/node_exporter-0.15.2.linux-amd64.tar.gz"
- - name: blackbox_exporter
- version: 0.11.
- url: "https://github.com/prometheus/blackbox_exporter/releases/download/v0.11.0/blackbox_exporter-0.11.0.linux-amd64.tar.gz"
- - name: pushgateway
- version: 0.4.
- url: "https://github.com/prometheus/pushgateway/releases/download/v0.4.0/pushgateway-0.4.0.linux-amd64.tar.gz"
- - name: grafana
- version: 4.6.
- url: "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3.linux-x64.tar.gz"
- third_party_packages_under_gfw:
- - name: prometheus
- version: 2.0.
- url: "http://download.pingcap.org/prometheus-2.0.0.linux-amd64.tar.gz"
- - name: alertmanager
- version: 0.9.
- url: "http://download.pingcap.org/alertmanager-0.9.1.linux-amd64.tar.gz"
- - name: node_exporter
- version: 0.15.
- url: "http://download.pingcap.org/node_exporter-0.15.2.linux-amd64.tar.gz"
- - name: pushgateway
- version: 0.4.
- url: "http://download.pingcap.org/pushgateway-0.4.0.linux-amd64.tar.gz"
- - name: grafana
- version: 4.6.
- url: "http://download.pingcap.org/grafana-4.6.3.linux-x64.tar.gz"
- - name: blackbox_exporter
- version: 0.11.
- url: "https://download.pingcap.org/blackbox_exporter-0.11.0.linux-amd64.tar.gz"
- tispark_packages:
- - name: spark-2.1.-bin-hadoop2..tgz
- version: 2.1.
- url: http://download.pingcap.org/spark-2.1.1-bin-hadoop2.7.tgz
- checksum: "sha256:372ac4f73221c07696793101007a4f19e31566d1f0d9bd0e5205b6fb5b45bfc2"
- - name: tispark-SNAPSHOT-jar-with-dependencies.jar
- url: http://download.pingcap.org/tispark-0.1.0-SNAPSHOT-jar-with-dependencies.jar
- - name: tispark-sample-data.tar.gz
- version: 0.1.-beta
- url: http://download.pingcap.org/tispark-sample-data.tar.gz
所有的依赖项都在这个配置模板中了
我们在 tidb-ansible 解压文件夹下新建
将我们下载的gz 包都放进去
新建资源文件夹:
这个下面只有一个文件夹
这些事其他需要的文件加压后 放在这个 文件夹下
剩下的就是配置 ini 文件了
我的配置是如下:
## TiDB Cluster Part
[tidb_servers]
192.168.56.101
[tikv_servers]
192.168.56.103
192.168.56.104
192.168.56.105
[pd_servers]
192.168.56.102
[spark_master]
[spark_slaves]
## Monitoring Part
# prometheus and pushgateway servers
[monitoring_servers]
192.168.56.100
[grafana_servers]
192.168.56.100
# node_exporter and blackbox_exporter servers
[monitored_servers]
192.168.56.101
192.168.56.102
192.168.56.103
192.168.56.104
192.168.56.105
192.168.56.100
## Binlog Part
[pump_servers:children]
tidb_servers
## Group variables
[pd_servers:vars]
# location_labels = ["zone","rack","host"]
## Global variables
[all:vars]
deploy_dir = /home/tidb/deploy
## Connection
# ssh via normal user
ansible_user = tidb
# ssh via root:
# ansible_user = root
ansible_become = true
ansible_become_user = tidb
cluster_name = test-cluster
tidb_version = v1.0.8
# deployment methods, [binary, docker]
deployment_method = binary
# process supervision, [systemd, supervise]
process_supervision = systemd
# timezone of deployment region
timezone = Asia/Shanghai
set_timezone = True
enable_firewalld = False
# check NTP service
enable_ntpd = False
set_hostname = False
## binlog trigger
enable_binlog = False
# zookeeper address of kafka cluster, example:
# zookeeper_addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181"
zookeeper_addrs = ""
# store slow query log into seperate file
enable_slow_query_log = False
# KV mode
deploy_without_tidb = False
其中
需要修改为 False ,这个折腾半天,因为连接不到外网的同步时间server 始终没同步成功,但忽然想起来应该不用这个也可以的。
如果有条件的话尽量还是同步好。
hosts.ini 文件修改
- [servers]
- 192.168.56.101
- 192.168.56.102
- 192.168.56.103
- 192.168.56.104
- 192.168.56.105
- [all:vars]
- username = tidb
- ntp_server = 192.168.56.100
最后就是把整个文件夹上传到 56.100 这台中控机器
下一步通过 ansible 来安装
中间省略了 ssh 免密登录这个可以参考官网说明
部署 TiDB 集群软件
- ansible-playbook deploy.yml
启动 TiDB 集群
- ansible-playbook start.yml
- 中间遇到phthon2 识别不了 多次添加授权等方法都不行。
最后还是修改了 start.yml 文件
- 原始的应该是这样
修改后就能成功启动了,OK
这个是监控的网页
这个是mysql 客户测试 注意需要你本机安装mysql 客户端
OK All Done.
Tidb 离线Ansible方式部署实践的更多相关文章
- 招商银行 KubeVela 离线部署实践
招商银行云平台开发团队自 2021 年开始接触 KubeVela,并探索 KubeVela 在招商银行云平台的落地实践,借此提升云原生应用交付与管理能力.同时因为金融保险行业的特殊性,网络安全管控措施 ...
- 离线方式部署Ambari2.6.0.0
Hadoop生态圈-离线方式部署Ambari2.6.0.0 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我现在所在的公司用的是CDH管理Hadoop集群,前端时间去面试时发现很多 ...
- Hadoop生态圈-离线方式部署Cloudera Manager5.15.1
Hadoop生态圈-离线方式部署Cloudera Manager5.15.1 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到目前位置,Cloudera Manager和CDH最新 ...
- 生产环境 tidb部署实践
TiDB 简介 TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式 HTAP (Hybrid Transactional and Analytic ...
- ansible 学习与实践
title: ansible 学习与实践 date: 2016-05-06 16:17:28 tags: --- ansible 学习与实践 一 介绍 ansible是新出现的运维工具是基于Pytho ...
- Ansible自动化部署K8S集群
Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新.Ansible适用于管理企 ...
- 自动化运维工具Ansible详细部署 (转载)
自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...
- omnibus方式部署gitlab
omnibus方式部署gitlab Posted on 2015 年 1 月 10 日 4233 Views 这几天折腾搭建git服务器,选择了比较流行的gitlab,一开始就直奔一键安装脚本去了 ...
- 从Docker 到Jenkins 到Ansible的部署经验
从Docker 到Jenkins 到Ansible的部署经验 工作中,除了开发功能,还负责系统的部署工作.我从频繁的部署工作中,逐渐找到了一些偷懒的方法.从传统的Java -jar命令启动服务,到通过 ...
随机推荐
- HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting
Brute Force Sorting Time Limit: 1 Sec Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...
- zabbix前端添加平台脚本监控
1.在前端创建脚本 2.添加监控配置 # 这里添加的监控为ping命令,用来探测网络的可用性. # 这里添加的监控为traceroute命令,用来探测网络的可用性. # 这里添加的监控为nmap命令, ...
- JS延时器 定时器 暂停器 中断器
// numberMillis 毫秒 function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() ...
- Linux下对于makefile的理解
什么是makefile呢?在Linux下makefile我们可以把理解为工程的编译规则.一个工程中源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,那些 ...
- CentOS6.5更改语言设置
yum grouplist |grep cn yum groupinstall “Chinese Support”——————————————yum groupinstall “Desktop”vi ...
- 【转】【C++专题】C++ sizeof 使用规则及陷阱分析
提示:下文例子都经过Visual C++ 6.0验证,平台为win32 Windows. 一.什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gi ...
- thinkphp3.2----实现伪静态和路由配置
URL模式: 0.普通 http://localhost/qixin/ThinkCMF(test)_backup/index.php?g=user&m=login&a=index ...
- 2018牛客多校1 - J Different Integers 莫队/主席树签到
题意:给出n<5e4,a[1...n],单次1e5总次1e6次查询除去区间(L,R)的数的个数 开场5分钟:莫队是不可能莫队的,这道题是不可能莫队的 最后1小时:真香 具体操作没啥特别的,注意一 ...
- 基于两阶段提交的分布式事务实现(UP-2PC)
引言:分布式事务是分布式数据库的基础性功能,在2017年上海MySQL嘉年华(IMG)和中国数据库大会(DTCC2018)中作者都对银联UPSQL Proxy的分布式事务做了简要介绍,受限于交流形式难 ...
- 项目中遇到的bug、问题总结
1. Cannot set property 'captcha' of undefined 在node项目中使用svg-captcha生成验证码报错 captcha的代码,这里有一个session.c ...