首页主机资讯MariaDB Linux版如何进行集群部署

MariaDB Linux版如何进行集群部署

时间2025-12-10 20:58:04发布访客分类主机资讯浏览1115
导读:MariaDB Linux 版集群部署指南 一 方案选型与准备 常见方案对比 MariaDB Galera Cluster:多主同步复制、强一致、任意节点读写,适合高可用与横向扩展;仅支持 InnoDB/XtraDB。 主从复制(异步/...

MariaDB Linux 版集群部署指南

一 方案选型与准备

  • 常见方案对比
    • MariaDB Galera Cluster:多主同步复制、强一致、任意节点读写,适合高可用与横向扩展;仅支持 InnoDB/XtraDB
    • 主从复制(异步/半同步):部署简单、读写分离易实现,但存在复制延迟与单主写入瓶颈。
  • 节点规划建议
    • 至少 3 节点 组成 Galera 集群,避免脑裂并保障仲裁;各节点时间同步(如 NTP)。
    • 开放端口:3306(MySQL)、4567(Galera 通信)、4568(IST)、4444(SST/rsync),以及 22(SSH 运维)。
    • 系统与安全:建议关闭 SELinux 或设为 permissive;按需配置防火墙放行上述端口;准备用于 SST 的数据库账号与权限。

二 使用 Galera 多主集群部署步骤

  • 安装软件包
    • Ubuntu/Debian:apt 安装 mariadb-server mariadb-client rsync
    • RHEL/CentOS:yum/dnf 安装 MariaDB-Galera-server MariaDB-client galera rsync;部分系统需先安装 socat
  • 配置文件 /etc/my.cnf.d/server.cnf(所有节点)
    • 关键参数示例:
      • [mysqld]:bind-address=0.0.0.0;binlog_format=row;default_storage_engine=InnoDB;innodb_autoinc_lock_mode=2;innodb_flush_log_at_trx_commit=2;innodb_buffer_pool_size(按内存调优,如 1G)。
      • [galera]:wsrep_on=ON;wsrep_node_name=本机名;wsrep_node_address=本机IP;wsrep_cluster_name=mariadb_galera_cluster;wsrep_provider=/usr/lib/galera/libgalera_smm.so(路径因发行版可能为 /usr/lib64/…);wsrep_cluster_address=“gcomm://node1,node2,node3”;wsrep_sst_method=rsync;wsrep_slave_threads(按 CPU 核数调优)。
  • 初始化与启动
    • 首次引导仅在一个节点执行:systemctl stop mariadb;galera_new_cluster。
    • 其余节点:systemctl start mariadb。
    • 安全初始化:运行 mysql_secure_installation;创建用于 SST 的账号(如 sst_user)并授予必要权限。
  • 验证
    • 在任一节点执行:SHOW STATUS LIKE ‘wsrep%’; 检查 wsrep_cluster_size=3wsrep_ready=ONwsrep_local_state_comment=Synced 等关键指标。

三 主从复制部署步骤

  • 适用场景:读写分离、读扩展、对强一致要求不高的业务。
  • 基本流程
    • 准备主从节点并安装 MariaDB;主库开启二进制日志并创建复制账号;从库配置主库连接信息并启动复制;验证复制状态与延迟。
    • 详细步骤与参数示例可参考 CentOS 8 主从部署实践(含防火墙、初始化、主从配置与验证)。

四 常见问题与恢复

  • 全部节点宕机后的恢复
    • 选择数据最新的节点作为引导节点:systemctl stop mariadb;galera_new_cluster;其余节点:systemctl start mariadb。
  • SELinux 与防火墙
    • 测试环境可临时:setenforce 0;生产环境建议按需配置 SELinux 策略与防火墙放行 3306/4567/4568/4444
  • SST 失败排查
    • 确认 wsrep_sst_method=rsync 时 rsync 可用;检查网络与权限;必要时改用其他 SST 方法(如 mysqldump)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: MariaDB Linux版如何进行集群部署
本文地址: https://pptw.com/jishu/768676.html
如何优化Linux K8s性能 MariaDB Linux版支持哪些存储引擎

游客 回复需填写必要信息