一 准备工作
1 参考文档:第二种 《使用 TiUP cluster 在单机上模拟生产环境部署步骤》
https://docs.pingcap.com/zh/tidb/stable/quick-start-with-tidb
2 单机配置:4核心8G内存
3 服务器系统版本要求:CentOS 7.3及以上
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
4 环境初始化
[root@localhost ~]# vi tidb-init.sh
#!/bin/bash
# 关闭防火墙
echo "=========stop firewalld============="
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
# 关闭NetworkManager
echo "=========stop NetworkManager ============="
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager
# 关闭selinux
echo "=========disable selinux============="
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
getenforce
# 关闭swap
echo "=========close swap============="
sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a
free -m
# 时间同步
echo "=========sync time============="
yum install chrony -y
cat >> /etc/chrony.conf << EOF
server ntp.aliyun.com iburst
EOF
systemctl start chronyd
systemctl enable chronyd
chronyc sources
#配置yum
echo "=========config yum============="
yum install wget net-tools telnet tree nmap sysstat lrzsz dos2unix -y
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
[root@localhost ~]# sh tidb-init.sh
5 配置网络(后面四项注意修改成
自己对应的ip、子网掩码、网关、DNS
)
# 后面四项注意修改成自己对应的ip、子网掩码、网关、DNS
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="96350fad-1ffc-4410-a068-5d13244affb7"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.12.26
NETMASK=255.255.255.0
GATEWAY=192.168.12.2
DNS1=192.168.12.2
[root@localhost ~]# /etc/init.d/network restart
6 修改主机名
[root@localhost ~]# hostnamectl set-hostname tidb1
[root@tidb1~]# echo "192.168.12.26 tidb1" >> /etc/hosts
二 开始安装
1 集群拓扑
最小规模的 TiDB 集群拓扑:
实例 | 个数 | IP | 配置 |
---|---|---|---|
TiKV | 2 | 192.168.12.26 192.168.12.26 | 避免端口和目录冲突,我按照官网安装三个TiKV的,但是始终有一个起不来,就暂时安装的两个 |
TiDB | 1 | 192.168.12.26 | |
PD | 1 | 192.168.12.26 | |
TiFlash | 1 | 192.168.12.26 | |
Monitor | 1 | 192.168.12.26 |
2 开始安装
1 下载并安装 TiUP
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source /root/.bash_profile
2 安装 TiUP 的 cluster 组件
tiup cluster
3 如果机器已经安装 TiUP cluster,需要更新软件版本:
tiup update --self && tiup update cluster
4 由于模拟多机部署,需要通过
root
用户调大 sshd 服务的连接数限制
vim /etc/ssh/sshd_config
# 找到48行处的MaxSessions,设置为30
MaxSessions 30
5 重启 sshd 服务
service sshd restart
6 创建配置文件
mkdir -p /opt/env/tidb
cd /opt/env/tidb
vim topo.yaml #内容如下
# # Global variables are applied to all deployments and used as the default value of
# # the deployments if a specific deployment value is missing.
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
# # Monitored variables are applied to all the machines.
monitored:
node_exporter_port: 9100
blackbox_exporter_port: 9115
server_configs:
tidb:
log.slow-threshold: 300
tikv:
readpool.storage.use-unified-pool: false
readpool.coprocessor.use-unified-pool: true
pd:
replication.enable-placement-rules: true
replication.location-labels: ["host"]
tiflash:
logger.level: "info"
pd_servers:
- host: 192.168.12.26
tidb_servers:
- host: 192.168.12.26
tikv_servers:
- host: 192.168.12.26
port: 20160
status_port: 20180
config:
server.labels: { host: "host1" }
- host: 192.168.12.26
port: 20161
status_port: 20181
config:
server.labels: { host: "host2" }
# - host: 192.168.12.26
# port: 20163
# status_port: 20183
# config:
# server.labels: { host: "host3" }
tiflash_servers:
- host: 192.168.12.26
monitoring_servers:
- host: 192.168.12.26
grafana_servers:
- host: 192.168.12.26
7 查询TiDB的所有版本信息
tiup list tidb
8 执行集群部署命令(这儿安装的v4.0.0的)
命令:
tiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml --user root -p
参数解释:
<cluster-name> 表示设置集群名称
<tidb-version> 表示设置集群版本,可以通过 tiup list tidb 命令来查看当前支持部署的 TiDB 版本
开始部署:
tiup cluster deploy tidb-dev v4.0.0 ./topo.yaml --user root -p
部署成功最后一段日志:
Cluster `tidb-dev` deployed successfully, you can start it with command: `tiup cluster start tidb-dev`
9 启动集群
tiup cluster start tidb-dev
# 所有角色都启动成功,则ok
启动成功最后一段日志:
Started cluster `tidb-dev` successfully
10 访问集群
- 如果服务器没有,安装 MySQL 客户端。如果已安装 MySQL 客户端则可跳过这一步骤。
yum -y install mysql
-
访问 TiDB 数据库,
密码为空
:
mysql -h 192.168.12.26 -P 4000 -u root
- 执行以下命令确认当前已经部署的集群列表:
tiup cluster list
- 执行以下命令查看集群的拓扑结构和状态:
tiup cluster display tidb-dev
11 ui访问,navacat访问
- navacat
ps:最好修改下root的密码,为空不太好;修改完后,重新登陆navicat
use mysql;
SET PASSWORD FOR 'root'@'%'='root@123.com';
- TiDB 的 Dashboard
- 登陆地址:http://192.168.12.26:2379/dashboard/#/overview 账号root/密码无
- TiDB 的 Grafana 监控
- 登陆地址:http://192.168.12.26:3000 账号密码:admin/admin
- TiDB 的 Prometheus
- 登陆地址:http://192.168.12.26:9090/graph
11 tiup相关运维命令
https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-using-tiup