1. 安装TIDB生成环境硬件要求
组件
CPU
内存
硬盘类型
网络
数量(最低要求)
TiDB
16核+
48 GB+
SAS
万兆网卡(2块最佳)
2
PD
8核+
16 GB+
SSD
万兆网卡(2块最佳)
3
TiKV
16核+
48 GB+
SSD
万兆网卡(2块最佳)
3
监控
8核+
16 GB+
SAS
千兆网卡
1
服务器总计
9
**注:
**
•生产环境中的 TiDB 和 PD **可以部署和运行在同服务器上,如对性能和可靠性有更高的要求,应尽可能分开部署。
**
**•生产环境强烈推荐使用更高的配置。
**
•TiKV 硬盘大小建议不要超过 800G **以防止硬盘损坏时,数据恢复耗时过长
**
- 安装TIDB的虚拟机硬件环境
处理器:I7系列CPU
内存16G
硬盘:SSD 100G
Vm虚拟机:8个VM虚拟机,每台虚拟配给1.5G内存,操作系统Centos7.4版本以上,请确保主机和虚拟机能联上外网
机器名
IP
操作系统
配置
用途
TiDB1
192.168.1.49
CentOS7.4 X64
4C+8G+60G+200G扩展
TiKV+TiSpark
TiDB2
192.168.1.50
CentOS7.4 X64
4C+8G+60G+200G扩展
TiKV+TiSpark
TiDB3
192.168.1.51
CentOS7.4 X64
4C+8G+60G+200G扩展
TiKV+TiSpark
TiDB4
192.168.1.52
CentOS7.4 X64
4C+8G+260G
Mysql5.7+测试工具
TiDB5
192.168.1.53
CentOS7.4 X64
4C+8G+60G
TiDB+PD
TiDB6
192.168.1.54
CentOS7.4 X64
4C+8G+60G
TiDB+PD
TiDB7
192.168.1.55
CentOS7.4 X64
4C+8G+60G
TiDB+PD
TiDB8
192.168.1.56
CentOS7.4 X64
4C+8G+60G
中控机ansible+monitor
*注:在TiDB1,TiDB2,TiDB3***都需要进行操作,后面有说到如何用虚拟机挂载EXT4
**
- 安装前的准备工作
在安装TIDB之前先做完好一些准备工作,包括安装环境,IP地址和主机名称等。
**注:****如果虚拟机是复制的,一定要将虚拟机的MAC地址重新生成一次,****不然会出现不
**
能联网的问题,在生成MAC****之前虚拟机系统先要关闭中,生成之后再启动。
给所有主机分配IP地址
执行 vi /etc/sysconfig/network-scripts/ifcfg-ens33按如下图设置网络环境
其中GATEWAY设的是网关,IPADDR是指定IP地址,必须与现有局域网在同一个网段下
例如:192.168.1.49 NETMASK表示子网掩码
给所有主机重新命名
执行vim /etc/sysconfig/network
添加如下两行
NETWORKING=yes #使用网络
HOSTNAME= tidb01 #主机名称,主机名称用唯一编号表示
执行vim /etc/hosts
添加如下一行:
192.168.1.49 tidb01
设好之后重新启动网络
执行service network restart
关闭firewalld防火墙
systemctl stop firewalld.service #停止firewall防火墙服务
systemctl disable firewalld.service 关闭防火墙
Centos最小安装之后需要安装的Yum
安装额外yum源
yum install epel-release
更新Centos系统
yum update可以将Centos更新至最新版
查看Centos版本号信息
cat /etc/redhat-release
查看linux内核版本
cat /proc/version
查看系统是不是64位
getconf LONG_BIT
给虚拟机添加新的虚拟磁盘空间并转换为EXT4格式
TiDB1,TiDB2,TiDB3都需要进行操作挂载EXT4数据盘,操作如下:
在VM左侧窗口中对着虚拟主机单击右键设置->硬盘->添加->硬盘-SCSI->创建新虚拟磁盘
然后打开终端:看一下磁盘,sudo fdisk -l
此处的/dev/sdb就是我们新加的磁盘,我们要将其加进来
给新加的硬盘分区,执行如下命令:
sudo fdisk /dev/sdb
键入m,可看到帮助信息
再键入n表示新分区
再键入p选择基本分区
再键入1表示建一个分区
回车
回车,再回车
键入w ,再回车
格式化磁盘分区
用ext4格式对/dev/sdb进入格式化
mkfs.ext4 /dev/sdb
挂载分区
创建新的挂载点
mkdir /home
将新磁盘分区挂载到/ home目录下
mount -t ext4 /dev/sdb /home
查看挂载
df –hT
可以看到新加的硬盘:/dev/sdb 并且格式是ext4
设置开机自动挂载数据盘ext4参数
TiDB1,TiDB2,TiDB3都需要进行操作挂载EXT4数据盘,操作如下:
修改文件
vi /etc/fstab
加入一行:
/dev/sdb /home ext4 defaults,nodelalloc,noatime 0 0
卸载目录并重新挂载
umount /home
mount -a
确认是否生效,如果生效了会多出nodelalloc
*TiDB1,TiDB2,TiDB3***都需要进行操作,**操作如下:
mount -t ext4
添加用户
所有虚拟主机都需要进操作:
添加用户
所有虚拟主机都需要进操作:
useradd tidb
passwd tidb
设置免密配置文件
所有虚拟主机都需要进操作:
visudo
将tidb ALL=(ALL) NOPASSWD: ALL加入到最后一行并保存
登录192.168.1.56虚拟机配置ssh互信免密码登录
执行如下合令:
su - tidb
ssh-keygen -t rsa 然后一路回车
这时当前用户home目录下面会生成一对密钥,id_rsa 为私钥,id_rsa.pub 为公钥
通过 ssh-copy-id 进行传输公钥
执行下面命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.49
然后输入密码
其它虚拟主机一样操作:
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.50
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.51
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.52
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.53
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.54
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.55
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.56 **#**中控机也要这样做
验证 ssh 互信及 sudo 免密码
以 tidb 用户登录到中控机,ssh 登录目标机器 IP,不需要输入密码并登录成功,表示 ssh 互信配置成功。
执行如下命令:
ssh 192.168.1.49
ssh 192.168.1.50
ssh 192.168.1.51
ssh 192.168.1.52
ssh 192.168.1.53
ssh 192.168.1.54
ssh 192.168.1.55
接着登录目标主机 ssh root@192.168.1.49,等主机无须密码即可登录成功。
以 tidb 用户登录到部署目标机器后,执行以下命令,不需要输入密码并切换到 root 用户,表示 tidb 用户 sudo 免密码配置成功。
关闭SELinux
所有虚拟主机都需要进操作:
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效
手工安装 NTP 服务
49-55 IP****虚拟主机都需要进行下面的操作:
执行如下命令:
ssh 192.168.1.49
su - tidb
sudo yum install ntp ntpdate
sudo vi /etc/ntp.conf
将NTP的IP设成中控机的IP地址,
server 192.168.1.56 iburst
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
iburst : 当server不可达时,以默认发包速率的8倍向服务器发包。请修改为主控机的实际IP
sudo systemctl start ntpd.service
执行以下命令输出 running 表示 NTP 服务正在运行:
sudo systemctl status ntpd.service
执行 ntpstat 命令,输出 synchronised to NTP server(正在与 NTP server 同步)表示在正常同步:
exit
exit
ssh 192.168.1.50 其它步骤和上面的一样
手工安装192.168.1.56中控机的 NTP 服务
su - tidb
sudo yum install ntp ntpdate
sudo vi /etc/ntp.conf
说明:需要增加一个restrict,可以使用当前服务器的IP段,192.168.1.1是自已的网关IP段注意填写自己的IP段。
ntp中本机使用server 127.127.1.0
最后启动NTP服务:
sudo systemctl start ntpd.service
在192.168.1.53虚拟机安装MYSQL客户端工具
下载:mysql57-community-release-el7-11.noarch.rpm
安装:rpm -Uvh mysql57-community-release-el7-9.noarch.rpm
yum安装server:
yum install mysql-community-server
yum安装client:
yum install mysql-community-client