黄东旭解析 TiDB 的核心优势
803
2023-11-24
1、安装的硬件要求
2、安装前环境检查及系统优化
3、集群搭建
4、服务访问
tidb集群搭建对服务器的cpu和内存有要求,过低的配置可能会导致搭建失败或影响集群性能
为了保证安装顺利和集群的性能,安装前我们需要对环境做一些检查,以便使用tiup check命令检查时能顺利的通过校验检查以及优化一些系统参数,以便保证安装后集群的性能。此流程主要分为5大步。第一:磁盘挂载,第二:关闭防火墙,第三:检测及关闭系统swap,第四:检测及安装NTP服务,第五: 操作系统检查及参数优化
磁盘挂载:
1、查看数据盘 fdisk -l
2、创建分区 parted -s -a optimal /dev/nvme0n1 mklabel gpt -- mkpart primary ext4 1 -1
3、格式化文件系统 mkfs.ext4 /dev/nvme0n1p1
4、查看数据盘分区 UUID lsblk -f
5、编辑 /etc/fstab 文件,添加 nodelalloc 挂载参数。 执行如下命令进入fstab文件,然后将文本添加到最后一行并保存
vi /etc/fstab
文本: UUID=c51eb23b-195c-4061-92a9-3fad812cc12f /data1 ext4 defaults,nodelalloc,noatime 0 2
上述的uuid要换成步骤4中机器实际的uuid,/data1换成服务器上实际被挂载的目录
6、挂载数据盘 mount -a
7、执行以下命令,如果文件系统为 ext4,并且挂载参数中包含 nodelalloc,则表示已生效。
mount -t ext4
关闭防火墙
1、关闭命令:systemctl stop firewalld.service
2、关闭自启动:systemctl disable firewalld.service
3、检查防火墙状态 systemctl status firewalld.service
检测及关闭系统swap
执行如下命令关闭:
echo "vm.swappiness = 0">> /etc/sysctl.conf
swapoff -a && swapon -a
sysctl -p
检测及安装NTP服务
TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性
1、执行以下命令,如果输出running表示 NTP 服务正在运行 sudo systemctl status ntpd.service
2、若返回报错信息Unit ntpd.service could not be found.,请尝试执行以下命令,以查看与NTP进行时钟同步所使用的系统配置是chronyd还是ntpd:
sudo systemctl status chronyd.service
如果输出synchronised to NTP server,表示正在与 NTP 服务器正常同步 如果系统使用的是ntpd时间同步服务,可忽略第4步
4、执行chronyc tracking命令查看 Chrony 服务是否与 NTP 服务器同步。 chronyc tracking
注意:该操作仅适用于使用 Chrony 的系统,不适用于使用 NTPd 的系统。 如果该命令返回结果如下,则表示 Chrony 服务未正常运行:需要手动启动该服务 启动chronyd服务并设置自启动: systemctl start chronyd 启动服务 systemctl status chronyd 查看状态 systemctl enable chronyd 设置开机自启
操作系统检查及参数优化
此流程和官网的基本一致,不再详细介绍,可参考官网https://docs.pingcap.com/zh/tidb/stable/check-before-deployment第5步的配置系统优化参数
此流程主要包含tiup工具安装、声明全局环境变量、安装 TiUP 的 cluster 组件、添加集群配置文件、check环境检查、部署和启动等操作。
下载并安装TiUP。curl --proto =https --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
声明全局环境变量。 source ${your_shell_profile}
TiUP 安装完成后会提示对应 Shell profile 文件的绝对路径。在执行以下 source 命令前,需要将 ${your_shell_profile} 修改为 Shell profile 文件的实际位置
安装 TiUP 的 cluster 组件。 tiup cluster
添加集群配置文件
安装集群前,需要先创建集群的拓扑文件,此处可以直接先在本地创建好,比如topo.yanl,复制以下内容,然后传到服务器即可。文件中路径和ip根据实际情况声明,配置文件中的host换成实际安装的ip地址,多节点时最好每个节点安装到不同的服务器上,比如有三个tikv节点,需要三台不同的服务器。
# # 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" #该路径最好换成磁盘上实际挂载的目录下,比如/xxx/tidb-deploy data_dir: "/tidb-data" #该路径最好换成磁盘上实际挂载的目录下,比如/xxx/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: 1000 tikv: readpool.storage.use-unified-pool: false readpool.coprocessor.use-unified-pool: true pd: schedule.leader-schedule-limit: 4 schedule.region-schedule-limit: 2048 schedule.replica-schedule-limit: 64 pd_servers: - host: 10.0.0.1 - host: 10.0.0.1 - host: 10.0.0.1 tidb_servers: - host: 10.0.0.1 - host: 10.0.0.1 tikv_servers: - host: 10.0.0.1 - host: 10.0.0.1 - host: 10.0.0.1 monitoring_servers: - host: 10.0.0.1 grafana_servers: - host: 10.0.0.1 alertmanager_servers: - host: 10.0.0.1执行部署命令前,先检查环境是否满足要求
tiup cluster check ./topo.yaml
如果报错:Error:none of ssh password,identity file ,SSH_AUTH_SOCK specified,改成如下命令,
tiup cluster check ./topo.yaml --user root -p
然后输入密码即可检查环境。如果环境检查不通过,使用如下命令自行修复
tiup cluster check ./topo.yaml --apply --user root -p
尽量保证检查的结果result栏为pass状态,如果没有绑核,numa绑核对应的那栏失败可以不用太关心,但是其他栏尽量都通过,最不济是warning状态
部署:
命令如下:
tiup cluster deploy <cluster-name> <version> ./topo.yaml --user root -p
启动集群:
tiup cluster start <cluster-name>
安装 MySQL 客户端。如果已安装 MySQL 客户端则可跳过这一步骤。 yum -y install mysql
访问 TiDB 数据库,密码为空,也可以使用数据库客户端连接 mysql -h 10.0.1.1 -P 4000 -u root
访问 TiDB 的 Grafana 监控:
通过 http://{grafana-ip}:3000 访问集群 Grafana 监控页面,默认用户名和密码均为 admin。
访问 TiDB 的 Dashboard:
通过 http://{pd-ip}:2379/dashboard 访问集群 TiDB Dashboard 监控页面,默认用户名为 root,密码为空。
执行以下命令查看集群的拓扑结构和状态: tiup cluster display <cluster-name>
到此,集群服务搭建完成,可以正常使用。
以下为集群操作的几个常用命令
停止组件 例如,下列命令只停止 TiDB 组件: tiup cluster stop ${cluster-name} -R tidb 停止组件中的某一个节点 tiup cluster stop ${cluster-name} -N 10.0.6.194:9090 启动组件中的某一个节点 tiup cluster start ${cluster-name} -N 10.0.6.194:9090 更改组件的配置后,重启组件 tiup cluster reload ${cluster-name} -R 组件名,比如tiup cluster reload tidb-pro -R tidb版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。