MySQL NDB Cluster Installation Guide

Mysql NDB Cluster其主要功能是在无共享存储的系统中部署基于内存的数据库Cluster,其主要是通过NDB Cluster(简称NDB)存储引擎来实现的。本文使用的NDB Cluster版本为7.6,主机描述见下表:

1、各个节点软件包安装
我这里创建了一个YUM仓库,所以直接通过yum命令安装。

  • NDB管理节点安装软件包

    [[email protected] ~]# yum -y install mysql-cluster-commercial-management-server
  • NDB SQL节点安装软件包
    [[email protected] ~]# yum -y install mysql-cluster-commercial-server mysql-cluster-commercial-common mysql-cluster-commercial-client
  • NDB 数据节点安装软件包
    [[email protected] ~]# yum -y install mysql-cluster-commercial-data-node mysql-cluster-commercial-client
    [[email protected] ~]# yum -y install mysql-cluster-commercial-data-node mysql-cluster-commercial-client

    2、NDB Cluster服务配置

  • NDB管理节点配置
    //创建配置文件
    [[email protected] ~]# mkdir /var/lib/mysql-cluster
    [[email protected] ~]# vi /var/lib/mysql-cluster/config.ini
    [tcp default]
    SendBufferMemory=2M
    ReceiveBufferMemory=2M
    [NDBD DEFAULT]
    #设置冗余的分数
    NoOfReplicas=2
    #指定存放数据的内存段大小
    DataMemory=1024M
    #存放跟踪文件、日志文件、pid文件以及错误日志的目录
    DataDir=/var/lib/mysql-cluster
    ServerPort=2202
    #数据库中存储NDB表的最大数量
    MaxNoOfTables=8192
    #设置哈希索引在系统中同意时间被使用的总数,该参数的默认值为128。
    MaxNoOfOrderedIndexes=2048
    #定义了可在簇中定义的属性数目
    MaxNoOfAttributes=5000000
    #开启这个设置会使内地版NDB尝试采用O_DIRECT写LCP、备份、重做日志,通常使用更少的内存和cpu。
    ODirect=1
    #每个redo日志文件的大小
    FragmentLogFileSize=100M
    #系统中可以定义的最大数量的触发器
    MaxNoOfTriggers=1000
    [NDB_MGMD]
    NodeId=1
    HostName=192.168.120.93
    DataDir=/var/lib/mysql-cluster
    TotalSendBufferMemory=2048M
    [NDBD]
    TotalSendBufferMemory=2048M
    NodeId=2
    HostName=192.168.120.130
    DataDir=/var/lib/mysql
    [NDBD]
    TotalSendBufferMemory=2048M
    NodeId=3
    HostName=192.168.120.131
    DataDir=/var/lib/mysql
    [MYSQLD]
    NodeId=4
    TotalSendBufferMemory=2048M
    HostName=192.168.120.129

    初始化NDB管理节点,执行一次,后续启动不需要加--initial参数。

    [[email protected] ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial

    通过ndb客户端查看,除了管理节点已连接外,其他尚未和管理节点建立连接,如下图:

  • NDB数据节点配置
    //数据节点1创建my.cnf文件
    [[email protected] ~]# vi /etc/my.cnf
    [mysqld]
    ndbcluster
    ndb-connectstring = 192.168.120.93
    [mysql_cluster]
    ndb-connectstring = 192.168.120.93
    //数据节点1初始化
    [[email protected] ~]# ndbd --initial
    //数据节点2创建my.cnf文件
    [[email protected] ~]# vi /etc/my.cnf
    [mysqld]
    ndbcluster
    ndb-connectstring = 192.168.120.93
    [mysql_cluster]
    ndb-connectstring = 192.168.120.93
    //数据节点2初始化
    [[email protected] ~]# ndbd –initial

    在管理节点通过ndb客户端可以验证数据节点已建立连接,如下图:

  • NDB SQL节点配置
    //创建配置文件
    [[email protected] ~]# vi /etc/my.cnf
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    ndbcluster
    default-storage-engine=ndbcluster
    tmp_table_size = 512M
    max_heap_table_size = 102400M
    max_allowed_packet = 3072M
    log_timestamps=system
    collation-server=utf8_general_ci
    character-set-server = utf8
    [mysql_cluster]
    ndb-connectstring=192.168.120.93
    //启动MySQL服务
    [[email protected] ~]# systemctl start mysqld

    验证SQL节点是否和管理节点建立连接,如下图:

    到此,整个ndb cluster服务搭建完成,最后通过SQL节点创建表以及导入数据即可。另外,只有使用了NDBCluster引擎的表才会执行同步操作,如果创建表时未指定engine类型为ndbcluster,则系统不会同步。使用如下命令在SQL节点更改表类型为ndbcluster:

    mysql> alter table xj.chapter engine=ndbcluster;

    3、NDB Cluster服务管理
    创建Cluster的时候,已做过初始化操作,后续的启动过程不需要加--initial参数。启动的顺序是先启动ndb管理服务,再启动ndb数据节点服务,最后是SQL节点服务。

  • 启动NDB Cluster服务
    [[email protected] ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
    [[email protected] ~]# ndbd
    [[email protected] ~]# ndbd
    [[email protected] ~]# systemctl start mysqld
  • 关闭NDB Cluster服务
    //通过NDB客户端执行shutdown可关闭cluster里的所有服务除SQL节点服务
    [[email protected] ~]# ndb_mgm
    ndb_mgm>shutdown
    [[email protected] ~]# systemctl stop mysqld

    4、监控NDB Cluster服务
    这里使用MySQL Enterprise Monitor工具,这个工具的安装请参考我博客里相关内容。待MySQL Enterprise Monitor agent服务启动后,它会收集操作系统以及MySQL信息发送到服务端,最终从web界面获取相关信息,如下图:


原文地址:http://blog.51cto.com/candon123/2155752

时间: 2024-10-29 18:40:21

MySQL NDB Cluster Installation Guide的相关文章

MySQL NDB Cluster 7.5.16部署OGG同步

安装MySQL NDB Cluster 7.5.16 环境: mgmd:192.168.121.133 sqlndbd1: 192.168.121.134 sqlndbd2: 192.168.121.135 每个节点先关闭防火墙: [r[email protected] ~]# systemctl disable firewalld [[email protected] ~]# chkconfig iptables off (sql节点和数据节点都在同一台机器上,但是生产环境建议sql节点和数据

Percona XtraDB Cluster Installation Guide

Percona XtraDB Cluster(简称PXC)集群是基于Galera,事务型应用下的通用的多主同步复制插件,主要用于解决强一致性问题,使得各个节点之间的数据保持实时同步以及实现多节点同时读写.提高了数据库的可靠性,也可以实现读写分离,是MySQL关系型数据库中大家公认的集群优选方案之一. 1.安装PXC软件包 这里使用的是官方最新的软件包Percona XtraDB Cluster 5.7.22-29.26,对应的操作系统是Oracle Linux 7.5.主机列表如下表所示:在各个

NDB Cluster (分布式存储引擎)存储引擎简单简介及Mysql cluster的实现

一.NDB Cluster (分布式存储引擎)存储引擎简单简介 NDB 存储引擎也叫NDB Cluster 存储引擎,主要用于MySQL Cluster 分布式集群环境, Cluster 是MySQL 从5.0 版本才开始提供的新功能.这部分我们可能并不仅仅只是介绍NDB存储引擎,因为离开了MySQL CLuster 整个环境,NDB 存储引擎也将失去太多意义.所以 接下来会和MySQL Cluster的搭建一块介绍. Mysql Cluster 是一种技术,其主要功能是在无共享的相关系统中部署

MySQL(8)--Cluster 7.4 rpm centos7

还没来得及写.我就知道一个月完毕不了,暂时添加的工作总是拖后腿. .. MySQL集群 docker下安装MySQL Cluster报错了.是我image的包少了perl.老实装吧.image又小不了了.还须要安装numactl, net-tools error: Failed dependencies: /usr/bin/perl is needed by MySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64 libnuma.so.1()(64bit) is

P6 EPPM Manual Installation Guide (Oracle Database)

Contents Oracle Database Manual Configuration Overview ,,★★5 Oracle Database Installation ,,★★6 Creating the Database Structure for Oracle and Loading Application Data ,,★★7 Creating the P6 EPPM Database Structure for Oracle ,,★★7 Copying the Script

Oracle Grid Infrastructure Installation Guide for Linux 以debug模式安装并记录日志

使用如下命令能够以debug模式安装Oracle Grid并将日志记录到文件 [[email protected] 11ggrid]$ ./runInstaller -debug > /home/grid/oracle_grid_installer_`date +%G%m%d_%H%M%S`.log 注意:其中的文件名为了避免重复,加入了当前的日期和时间`date +%G%m%d_%H%M%S` 代表了当前的日期和时间,之间用下横线隔开 重要说明点:那个日期$(`date +%G%m%d_%H%

Full installation guide for YMC

Full Installation Guide These are the steps necessary to get YCM working on a Unix OS and on Windows. Note to Windows users: we assume that you are running the cmd.exe command prompt and that the needed executables are in the PATH environment variabl

Arch Linux Installation Guide

Arch Linux Installation Guide timedatectl set-ntp true sed -i '/Score/{/China/!{n;s/^/#/}}' /etc/pacman.d/mirrorlist pacman -Syy 启动模式检查 检查启动模式是否支持UEFI,这将决定在安装 Bootloader 阶段的步骤: ls /sys/firmware/efi/efivars --如果如上文件存在,就说明为UEFI,否则为legacy BIOS lsblk par

关于Oracle的rac集群和mysql Galera Cluster的想法

到了新公司,公司用的是rac,我比较熟悉mysql第三方的集群方案Galera Cluster这类多主集群, 下面是我参考了他人对rac的介绍,然后和mysql方案进行的臆测级别的分析对比. rac和mysql Galera Cluster(mgc)的对比, 1.实施和运维,rac是商业方案系统化性当然强点,mgc大多使用各种开源高可用负载均衡器,部署起来对实施人员的要求rac比较低,废话...rmb都给了甲骨文了,如果是自行配制弄得不好性能2台还不如一台,其实运维方面来说体量大了都一样: 2.