tidb测试环境安装,离线部署

本文详细介绍在CentOS 7.5环境下,如何利用Ansible自动化工具部署与配置TiDB数据库集群,包括环境准备、软件安装、配置文件编辑、集群安装及测试验证等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.环境以及规划

  机器:centos7.5 ; 文件系统为ext4;内存16g;cpu8核,共三个节点; 

      ip             hostname                    roles

 10.40.20.66        vm-10-40-20-66         tidb  tipd  tikv
 10.40.20.67        vm-10-40-20-67         tidb  tipd  tikv
 10.40.20.92        vm-10-40-20-92               tipd  tikv

 

2 .本地下载tidb-ansible-master.zip,上传到中控机,然后重命名为tidb-ansible;

3.安装ansible:

sudo yum -y install python-pip curl

sudo yum -y install sshpass

cd tidb-ansible

sudo pip install -r requirements.txt     
[tidb@vm-10-40-20-66:/opt/Jinja2-2.9.6]$ cat /home/tidb/tidb-ansible/requirements.txt 
ansible>=2.4.2
jinja2>=2.9.6
jmespath>=0.9.0

sudo pip install -r requirements.txt会报错缺少依赖包,由于集群没外网,去http://mirrors.aliyun.com/pypi/simple/镜像去下载python依赖包到本地,再上传到中控机:
Jinja2-2.9.6.tar.gz;jmespath-0.9.1.tar.gz;MarkupSafe-0.23.tar.gz ,注意版本匹配;
各个python包解压后里面都有一个setup.py脚本,使用如下命令安装:
python setup.py install


4.创建tidb用户,设置免密码登录,配ntp同步;
ansible -i hosts.ini all -m shell -a  "ntpstat" -b

ansible -i hosts.ini all -m shell -a  "ntpq -p" -b

5.编辑host.ini:
[tidb@vm-10-40-20-66:~/tidb-ansible]$ cat hosts.ini 
[servers]
10.40.20.66
10.40.20.67
10.40.20.92

[all:vars]
username = tidb
ntp_server = pool.ntp.org

  6.编辑invertory.ini:

## TiDB Cluster Part
[tidb_servers]
10.40.20.66
10.40.20.67

[tikv_servers]
10.40.20.66
10.40.20.67
10.40.20.92

[pd_servers]
10.40.20.66
10.40.20.67
10.40.20.92

[spark_master]

[spark_slaves]

## Monitoring Part
# prometheus and pushgateway servers
[monitoring_servers]
10.40.20.66

[grafana_servers]
10.40.20.66

# node_exporter and blackbox_exporter servers
[monitored_servers]
10.40.20.66
10.40.20.67
10.40.20.92

[alertmanager_servers]
10.40.20.66

[kafka_exporter_servers]

## Binlog Part
[pump_servers:children]
tidb_servers

[drainer_servers]

## Group variables
[pd_servers:vars]
# location_labels = ["zone","rack","host"]

## Global variables
[all:vars]
deploy_dir = /data/tidb/deploy

## Connection
# ssh via normal user
ansible_user = tidb

cluster_name = leochen-cluster

tidb_version = v2.0.7

# process supervision, [systemd, supervise]
process_supervision = systemd

timezone = Asia/Shanghai

enable_firewalld = False
# check NTP service
enable_ntpd = True
set_hostname = False

## binlog trigger
enable_binlog = False
# zookeeper address of kafka cluster for binlog, example:
# zookeeper_addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181"
zookeeper_addrs = ""
# kafka cluster address for monitoring, example:
# kafka_addrs = "192.168.0.11:9092,192.168.0.12:9092,192.168.0.13:9092"
kafka_addrs = ""

# store slow query log into seperate file
enable_slow_query_log = False

# enable TLS authentication in the TiDB cluster
enable_tls = False

# KV mode
deploy_without_tidb = False

# Optional: Set if you already have a alertmanager server.
# Format: alertmanager_host:alertmanager_port
alertmanager_target = ""

grafana_admin_user = "admin"
grafana_admin_password = "admin"


### Collect diagnosis
collect_log_recent_hours = 2

enable_bandwidth_limit = True
# default: 10Mb/s, unit: Kbit/s
collect_bandwidth_limit = 10000

7.安装tidb集群:

安装前检验

执行以下命令如果所有 server 返回 tidb 表示 ssh 互信配置成功。

ansible -i inventory.ini all -m shell -a 'whoami'

执行以下命令如果所有 server 返回 root 表示 tidb 用户 sudo 免密码配置成功。

ansible -i inventory.ini all -m shell -a 'whoami' -b

下载安装包,上传到downloads目录:

[tidb@vm-10-40-20-66:~/tidb-ansible/downloads]$ ll
total 565468
-rw-r--r-- 1 tidb tidb   9631079 Nov  1 17:08 alertmanager-0.14.0.tar.gz
-rw-r--r-- 1 tidb tidb   4950085 Nov  1 17:08 blackbox_exporter-0.12.0.tar.gz
-rw-r--r-- 1 tidb tidb   2125503 Nov  1 17:08 fio-3.8.tar.gz
-rw-r--r-- 1 tidb tidb  47187988 Nov  1 17:08 grafana-4.6.3.tar.gz
-rw-r--r-- 1 tidb tidb   3124144 Nov  1 17:08 grafana_collector-latest.tar.gz
-rw-r--r-- 1 tidb tidb   3940228 Nov  1 17:08 kafka_exporter-1.1.0.tar.gz
-rw-r--r-- 1 tidb tidb   5278094 Nov  1 17:08 node_exporter-0.15.2.tar.gz
-rw-r--r-- 1 tidb tidb  26438285 Nov  1 17:08 prometheus-2.2.1.tar.gz
-rw-r--r-- 1 tidb tidb   3723718 Nov  1 17:08 pushgateway-0.4.0.tar.gz
-rw-r--r-- 1 tidb tidb 201142612 Nov  1 17:08 spark-2.1.1-bin-hadoop2.7.tgz
-rw-r--r-- 1 tidb tidb  45854140 Nov  1 17:08 tidb-binlog-latest.tar.gz
-rw-r--r-- 1 tidb tidb   3551289 Nov  1 17:08 tidb-insight.tar.gz
-rw-r--r-- 1 tidb tidb  43271878 Nov  1 17:08 tidb-tools-latest.tar.gz
-rw-r--r-- 1 tidb tidb 156970586 Nov  1 17:08 tidb-v2.0.7.tar.gz
-rw-r--r-- 1 tidb tidb  18878689 Nov  1 17:08 tispark-latest.tar.gz
-rw-r--r-- 1 tidb tidb   2937369 Nov  1 17:08 tispark-sample-data.tar.gz

8.编辑bootstrap.yml文件,不符合的可以暂时注释掉,测试环境机器配置不高;

9.ansible-playbook bootstrap.yml;

10.ansible-playbook deploy.yml;

11.ansible-playbook start.yml;

12 . 使用 MySQL 客户端连接测试,TCP 4000 端口是 TiDB 服务默认端口。 

[tidb@vm-10-40-20-66:~/tidb-ansible/downloads]$ mysql -u root -h 10.40.20.66 -P 4000
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 107
Server version: 5.7.10-TiDB-v2.0.7 MySQL Community Server (Apache License 2.0)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| INFORMATION_SCHEMA |
| PERFORMANCE_SCHEMA |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)

13.通过浏览器访问监控平台:

地址: http://10.40.20.66:3000 默认帐号密码是: admin / admin 

 

   

 

 14.集群销毁:

ansible-playbook unsafe_cleanup.yml

 

转载于:https://www.cnblogs.com/gxc2015/p/9890958.html

### TiDB 离线单机单节点部署方法 #### 准备工作 为了成功完成 TiDB离线单机单节点部署,需准备如下材料: - 对应版本的 TiDB Server 离线镜像包,该包内含 TiUP 离线组件[^1]。 - 下载 `TiDB-community-server` 和 `TiDB-community-toolkit` 软件包以确保拥有完整的安装文件集。 #### 安装环境配置工具 在目标机器上执行必要的前置操作来优化性能并设置运行环境。这包括但不限于通过命令 `tuned-adm profile balanced-tidb-optimal` 来调整系统参数以及安装 `numactl` 工具以便更好地控制内存访问策略[^2]。 #### 部署过程概述 ##### 解压资源包 将之前获取到的所有压缩包解压至指定目录下,通常建议创建专门的工作空间用于存放这些文件夹及其内容。 ```bash tar -zxvf tidb-community-server-v7.5.0-linux-amd64.tar.gz -C /path/to/your/workdir/ tar -zxvf tidb-community-toolkit-v7.5.0-linux-amd64.tar.gz -C /path/to/your/workdir/ ``` ##### 初始化集群拓扑结构定义 利用 TiUP 创建一个新的集群实例描述文档(即 topology 文件),此步骤对于后续自动化部署至关重要。考虑到这是针对单一物理主机的操作指南,则只需关注如何合理规划各服务进程间的端口分配等问题即可满足需求。 ```yaml global: user: "tidb" ssh_port: 22 deploy_dir: "/data/deploy" data_dir: "/data" server_configs: pd: config: {} tikv: config: {} tidb: config: {} pd_servers: - host: 127.0.0.1 tiflash_servers: [] tikv_servers: - host: 127.0.0.1 tidb_servers: - host: 127.0.0.1 ``` 请注意上述 YAML 片段中的 IP 地址应当指向本地回环接口地址 (`127.0.0.1`) 并且所有服务器角色均在同一台设备内部署。 ##### 执行实际部署动作 借助于 TiUP 提供的一系列子命令实现整个流程的高度简化——仅需一条指令就能启动全部所需的服务实例,并自动处理依赖关系管理等工作事项。 ```bash tiup cluster deploy test_tidb_cluster v7.5.0 /path/to/topology.yaml --user root -p ``` 此处假设所使用的集群名称为 `test_tidb_cluster`;同时指定了具体版本号(`v7.5.0`) 及先前编辑好的拓扑模板路径(`/path/to/topology.yaml`) 。另外还设定了默认管理员账户名为 `root` ,密码交互输入模式(-p)。 ##### 启动新建立起来的 TiDB 实例群组 一旦前期准备工作顺利完成之后就可以尝试让刚刚搭建完毕的新系统正式上线运作啦! ```bash tiup cluster start test_tidb_cluster ``` 最后一步就是验证一切正常与否了:可以通过连接客户端的方式来进行简单的读写测试从而确认各项功能是否均已就绪待命。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值