zoukankan      html  css  js  c++  java
  • Keepalived+LVS+MysqlCluster(7.1.10)架构方案(六)

    Mysql Cluster在线添加数据节点


    增加或减少数据节点的数量和NoOfReplicas有关,一般来说NoOfReplicas2,那么增加或减少的数量也应该是成对的,否则要设置另外的NoOfReplicas

    首先是在配置文件中添加两个节点的设置,如下:

    vi config.ini  添加

    [NDBD]

    id=30

    HostName=192.168.100.223

     

    [NDBD]

    id=31

    HostName=192.168.100.224

     

    ndb_mgm工具,停掉管理节点,然后重新启动管理节点

    执行ndb_mgm进入管理命令界面

    找到管理节点的id,然后执行管理节点id stop,退出

    执行

    /usr/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini  --reload 重新启动管理节点

    登陆上去用show命令查看,是否出现了新添加的两个节点!


    环状重启(一次重启数据节点和sql节点)


    初始化新添加的两个节点:

    ndbd --initial (执行初始化之后会自动创建数据文件,undo日志文件等等)

    通过ndb_mgm创建nodegroup

    CREATE NODEGROUP 30,31

    重新分配cluster的数据

    SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE ENGINE = 'NDBCLUSTER';

    ALTER ONLINE TABLE table_name REORGANIZE PARTITION


    然后通过show命令或者使用ndb_desc命令查看

    ndb_desc -c 192.168.0.10 -d tuge datasource -p

    -c后面跟管理节点的ip-d跟数据库的名字,datasource为表名,-p输出分区的详细信息


    迁移之后空间还没有释放出来,需要通过optimize命令优化表,释放迁移走的空间(当optimize一个ndb大表的时候很慢,很容易出问题)

    表的数据量很多的时候,最好自己编写脚本,实现数据的重新分区和优化。


    从实验上看,迁移数据到其他节点的时候,会影响使用(变现为数据迁移期间,数据访问缓慢!)


  • 相关阅读:
    记录操作:增删改查
    mysql表的完整性约束
    mysql支持的数据类型:数值类型、时间类型、字符串类型、ENUM和SET类型
    mysql中的存储引擎
    系统从未分库分表动态切换到分库分表
    为什么要分库分表
    生产环境中的 redis 是怎么部署的
    redis 集群模式
    redis 的持久化方式
    redis 的过期策略都有哪些?内存淘汰机制都有哪些?
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7170044.html
Copyright © 2011-2022 走看看