tiup安全移除tidb节点


1、基本情况

tidb情况:集群版本是4.0.5,近期业务量有缩减,现在30+个tidb节点,负载非常低,为了有效使用服务器资源,需要缩容tidb节点到合适的数量。
业务要求:要求对业务无影响,由于tidb节点是分布式的,所以操作之前需要摘掉缩容tidb节点的业务流量。

 

2、开始操作

比如移除10.0.1.5这个tidb节点


3、查看节点id信息

这里只显示tidb节点,所以用4000端口过滤

tiup cluster display <cluster-name> |grep 4000
10.0.1.1:4000    tidb          10.0.1.1   4000/10080   Up         -                                          /data0/tidb/deploy/tidb-4000
10.0.1.2:4000    tidb          10.0.1.2   4000/10080   Up         -                                          /data0/tidb/deploy/tidb-4000
10.0.1.3:4000    tidb          10.0.1.3   4000/10080   Up         -                                          /data0/tidb/deploy/tidb-4000
10.0.1.5:4000    tidb          10.0.1.5   4000/10080   Up         -                                          /data0/tidb/deploy/tidb-4000

4、执行缩容操作

tiup cluster scale-in <cluster-name> --node 10.0.1.5:4000


5、检查集群状态

tiup cluster display <cluster-name> |grep 4000 |grep 10.0.1.5


文档参考地址:https://docs.pingcap.com/zh/tidb/stable/scale-tidb-using-tiup
 

<think>好的,我现在需要详细思考如何回答用户关于TiDB和MariaDB的部署步骤的问题。用户之前已经询问过关于若依系统迁移到国产或轻量级数据库的问题,现在他们想更深入了解这两个数据库的具体部署方法。 首先,我需要确定用户的需求。他们可能正在考虑迁移数据库,现在需要实际的部署指南来评估实施的可行性。用户可能具有一定的技术背景,但可能对这两种数据库的具体部署过程不太熟悉,所以需要详细且清晰的步骤。 接下来,我需要回顾TiDB和MariaDB的官方文档,确保部署步骤的准确性。对于TiDB,它是一个分布式数据库,部署相对复杂,可能涉及多个组件如PD、TiKV、TiDB等,而MariaDB作为MySQL的分支,部署较为简单,特别是单机部署。用户可能需要两种部署方式:单机测试和集群部署,所以需要分别说明。 对于TiDB,官方推荐使用TiUP进行部署,这是他们的部署工具,可以简化流程。需要说明如何安装TiUP,然后部署开发环境(单机)和生产集群。生产集群需要规划节点、配置拓扑文件、执行部署命令,以及后续的初始化和管理。 对于MariaDB,部署步骤包括安装软件包、初始化数据库、启动服务、安全设置和远程访问配置。集群部署方面,可能需要配置主从复制,涉及修改配置文件、创建复制用户、备份恢复数据等步骤。 在编写步骤时,需要注意命令的正确性,例如在CentOS中使用yum安装MariaDB,使用systemctl管理服务。同时,要提醒用户注意事项,比如TiDB的资源需求,MariaDB的版本兼容性,以及安全设置的重要性。 还需要考虑用户可能的错误操作,比如防火墙设置导致无法访问,权限配置不当等,所以在注意事项中要提到检查防火墙和SELinux,以及定期备份的重要性。 最后,总结部分需要对比两者的部署复杂度,帮助用户根据自身情况选择。例如,TiDB适合分布式场景,但部署较复杂;MariaDB简单适合单机或小型集群。 整个过程需要确保步骤清晰,语言简洁,避免技术术语过多,同时覆盖常见问题和注意事项,确保用户能够顺利部署。</think>以下是 **TiDB** 和 **MariaDB** 的详细部署步骤,涵盖单机测试与生产集群场景,帮助您快速搭建环境。 --- ### 一、TiDB 部署步骤 #### 1. 单机测试环境(All-in-One) **适用场景**:快速验证功能,开发调试。 **依赖工具**:TiUPTiDB官方部署工具)。 ```bash # 步骤1:安装TiUP curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh source ~/.bashrc # 或重新登录终端 # 步骤2:启动单机集群(包含PD、TiKV、TiDB、监控组件) tiup playground v7.5.0 --db 1 --pd 1 --kv 1 --monitor # 步骤3:连接TiDB(默认端口4000) mysql -h 127.0.0.1 -P 4000 -u root ``` #### 2. 生产集群部署 **硬件要求**: - PD(元数据管理):至少3节点,推荐4核8GB - TiKV(存储节点):SSD硬盘,多节点(至少3台) - TiDB(计算节点):高CPU,2节点以上 **部署流程**: ```bash # 步骤1:初始化集群拓扑文件(tidb-topology.yaml) tiup cluster template > tidb-topology.yaml # 步骤2:编辑拓扑文件,定义节点IP和角色(示例如下) global: user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" pd_servers: - host: 192.168.1.101 - host: 192.168.1.102 - host: 192.168.1.103 tidb_servers: - host: 192.168.1.201 - host: 192.168.1.202 tikv_servers: - host: 192.168.1.301 - host: 192.168.1.302 - host: 192.168.1.303 monitoring_servers: - host: 192.168.1.401 grafana_servers: - host: 192.168.1.401 # 步骤3:部署集群 tiup cluster deploy ruoyi-tidb v7.5.0 ./tidb-topology.yaml -y # 步骤4:启动集群 tiup cluster start ruoyi-tidb # 步骤5:验证集群状态 tiup cluster display ruoyi-tidb # 步骤6:初始化数据库(通过任意TiDB节点) mysql -h 192.168.1.201 -P 4000 -u root > SET PASSWORD = 'your_password'; > CREATE DATABASE ruoyi; ``` --- ### 二、MariaDB 部署步骤 #### 1. 单机部署(CentOS/RedHat) **适用场景**:中小型项目,快速启动。 ```bash # 步骤1:安装MariaDB sudo yum install -y mariadb-server mariadb # 步骤2:启动服务并设置开机自启 sudo systemctl start mariadb sudo systemctl enable mariadb # 步骤3:安全初始化(设置root密码、移除匿名用户等) sudo mysql_secure_installation # 步骤4:登录MariaDB mysql -u root -p # 步骤5:创建若依数据库 CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` #### 2. 主从复制集群(高可用) **场景**:读写分离、数据容灾。 **主库配置(192.168.1.100)**: ```bash # 编辑配置文件 /etc/my.cnf.d/server.cnf [mysqld] server-id=1 log-bin=mysql-bin binlog-format=row # 重启服务 sudo systemctl restart mariadb # 创建复制用户 mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Repl_Password_123'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; ``` **从库配置(192.168.1.101)**: ```bash # 编辑配置文件 /etc/my.cnf.d/server.cnf [mysqld] server-id=2 # 重启服务 sudo systemctl restart mariadb # 配置主库连接 mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='repl', MASTER_PASSWORD='Repl_Password_123', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328; # 启动复制 mysql> START SLAVE; # 检查状态(Slave_IO_Running和Slave_SQL_Running需为Yes) mysql> SHOW SLAVE STATUS\G ``` --- ### 三、关键注意事项 1. **TiDB**: - 生产环境需分离PD、TiKV、TiDB组件到不同物理节点。 - 使用`tiup cluster check`检查节点时钟同步与防火墙规则。 2. **MariaDB**: - 主从复制需确保主库`server-id`唯一,从库数据通过备份恢复同步。 - 若依系统若使用MyISAM表,需转换为InnoDB(MariaDB 10.2+默认支持)。 3. **通用建议**: - 部署后立即配置备份(如TiDB的**BR工具**、MariaDB的**mariabackup**)。 - 开放3306(MariaDB)或4000(TiDB)端口前,需设置强密码和IP白名单。 --- ### 四、总结 - **TiDB**:适合分布式、高并发场景,部署复杂度较高,但扩展性强。 - **MariaDB**:适合轻量级应用,单机部署简单,主从复制提升可用性。 建议根据业务规模选择方案,测试环境优先验证兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值