安装步骤->安装步骤
查看错误->错误集锦
节点作用->节点作用
测试结果->测试结果
图解:启动过程
SQL,在DB没有启动的时候是无法启动的.
DB启动,你需要在短时间内启动全部DB节点,否在,DB节点可能会出现全部挂掉的情况
图解:SQL请求过程,数据存储过程
SQL节点分区好后开始发送请求,我测试下应该是一起发送,所有请求.当数据到达数据节点,会先存入数据的内存内.然后数据节点会将内存数据同步到本地磁盘上,在会到同组的节点备份一个数据,数据节点存储数据位置在数据存放位置的LCP目录下(/usr/local/mysql/data/LCP/)
Mysql Cluster 管理节点
管理节点作用: 管理配置文件,监控节点,暂停以及唤醒数据节点.当管理节点挂点,整个集群是可以照常运行的.这个节点没有必要新增,如果配置双管理节点,那也是为了学习,很少见配置双管理节点.
动态新增管理节点:没有必要.一个足够了.
Mysql Cluster 数据节点
数据节点作用:当数据节点启动,它会将数据加载到内存中,由于设计了数据节点内存大小,小心会超过.
在运行过程中,如果内存中数据发生了变化,它会将内存的数据同步到磁盘上,以及各个副本服务器中.
动态新增数据节点:如果要新增数据节点,节点的备份数量是不能修改的,如果修改了配置文件中的备份数量,需要数据节点初始化,这样会导致数据节点的数据丢失.
新增备份数的机器,如果NoOfReplicas=2,你新增节点需要多加两个.必须同时加入,否在分配节点组的时候会报错.刚加入节点如下图:
新建nodegroup, create nodegroup 7,8,(7,8是节点id)
重新分配数据,登录 sql 执行:ALTER TABLE student ALGORITHM=INPLACE, REORGANIZE PARTITION;
刚开始:
最终结果:
添加成功,这时候只要重启其他数据节点,占有的百分比就会下降.
分片时,旧数据节点内存中的数据不会发生变化,只有重启数据节点后才能看到效果
数据节点的CPU占用异常高,数据库几乎处于不可用的状态.所以生产环境要注意.
Mysql Cluster SQL节点
SQL节点作用:除了存储数据,其他东西都由它管理,包括分片,SQL语句解读等等.
动态新增SQL节点:照常配置新的SQL节点.配置文件配置新节点,重新加载配置文件,启动SQL节点SQL服务即可.
上图是新增节点,访问不存在的数据库时的操作.(SQL节点保存了数据库的信息,但是,数据表,数据都是存储在数据节点上的)
注意:新增的SQL节点没有数据库的信息,也就是没有database,如果你需要访问对应的database,请自己创建.由于数据节点不会存储database的数据.