zoukankan      html  css  js  c++  java
  • Mysql cluster 7.0集群安装配置

    一、mysql cluster简介:

    MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署内存中数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。
    MySQL Cluster
    由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。关于 Cluster 中这些组件的关系,请参见下图:

           三个节点的功能如下:

    1、  管理(MGM)节点:这类节点的作用是管理MySQL Cluster内的其他节点,如提供配  置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,    应在启动其他节点之前首先启动这类节点。MGM节点是用命令“ndb_mgmd”启动的。

    2、  数据节点:这类节点用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令“ndbd”启动的。

    3、  SQL节点:这是用来访问 Cluster数据的节点。对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点是使用命令“mysqld –ndbcluster”启动的,或将“ndbcluster”添加到“my.cnf”后使用“mysqld”启动

     

    二、利用编译好的包搭建mysql cluster环境

    1、  搭建环境:

    管理节点(MGM    192.168.1.108

    数据节点1NDB1  192.168.1.121

    数据节点1NDB2  192.168.1.110

    SQL节点(SQL        192.168.1.159

     

    操作系统:CentOS release 5.4  32bit (均采用最小化安装)

    2、  软件包下载和解压:(在4台服务器都执行这个操作)

    wget http://mysql.ntu.edu.tw/Downloads/MySQL-Cluster-7.0/mysql-cluster-gpl-7.0.16-linux-i686-glibc23.tar.gz

    tar xzvf mysql-cluster-gpl-7.0.16-linux-i686-glibc23.tar.gz

    3、  开始安装:

    1)、管理节点的安装:

            cp mysql-cluster-gpl-7.0.16-linux-i686-glibc23/bin/ndb_mgm /usr/bin/

            cp mysql-cluster-gpl-7.0.16-linux-i686-glibc23/bin/ndb_mgmd /usr/bin/

            mkdir /var/lib/mysql-cluster

            #创建管理节点配置文件:

    vi /var/lib/mysql-cluster/config.ini

            添加如下内容:

                 [NDB_MGMD]                                

                 HostName=192.168.1.108                    

                 [NDBD DEFAULT]                            

                 NoOfReplicas=1                            

                 DataMemory=80M                            

                 IndexMemory=18M                           

                 DataDir=/var/lib/mysql-cluster            

                 FileSystemPath=/var/lib/mysql-cluster      

                 [NDBD]                                    

                 id=11                                     

                 HostName=192.168.1.121                    

                 [NDBD]                                    

                 id=12                                     

                 HostName=192.168.1.110                    

                 [MYSQLD]                                  

                 id=21                                     

                 HostName=192.168.1.159                    

                 ArbitrationRank=2                         

                 /var/lib/mysql-cluster/config.ini (END)   

                 

                  创建my.cnf文件

                  vi /etc/my.cnf

                  添加如下内容:

    [mysqld]

    ndbcluster

    ndb-connectstring=192.168.1.108

    [mysql_cluster]

    ndb-connectstring=192.168.1.108

     

           # 添加以下内容,以便系统启动时启动:

    ndb_mgmd -f /var/lib/mysql-cluster/config.ini

     

    2)、数据节点的安装

           mkdir /var/lib/mysql-cluster

           cp mysql-cluster-gpl-7.0.16-linux-i686-glibc23/bin/ndbd /usr/bin/

           vi /etc/my.cnf    #添加以下内容:

           #数据节点1NDB1)的内容:

           [mysql_cluster]

    ndb-connectstring="nodeid=11,192.168.1.108"

    #数据节点2NDB1)的内容:

    [mysql_cluster]

    ndb-connectstring="nodeid=12,192.168.1.108"   

     

    3)、SQL节点的安装

    mv mysql-cluster-gpl-7.0.16-linux-i686-glibc23 /usr/local/mysql

    cd  /usr/local/mysql

    #添加权限

    chown -R root . && chown -R mysql data && chgrp -R mysql .

    cp support-files/my-large.cnf /etc/my.cnf

    #初始化数据库

    scripts/mysql_install_db –-user=mysql

    cp support-files/mysql.server /etc/rc.d/init.d/mysqld

    #设置成服务启动

    chkconfig –add mysqld

    chkconfig --level 2345 mysqld on

    #更改my.cnf文件

     vi /etc/my.cnf

    #[mysqld] 下增加内容:

    ndbcluster

    ndb-connectstring="nodeid=21,192.168.1.108"

    #修改环境变量,增加mysql命令路径

    vi /root/.bash_profile

    #修改如下

    PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

     

    4)、启动mysql cluster

    正确的启动顺序为:首先启动管理节点服务器,然后启动存储节点服务器,最后才启动SQL节点服务器

    a、  启动管理节点:

    /usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

    b、  启动存储节点:

    /usr/bin/ndbd  --initial #第一次启动必须加—initial

    /usr/bin/ndbd  #不是第一次启动命令

    注意,仅应在首次启动ndbd时,或在备份/恢复数据或配置文件发生变化后重启ndbd时使用“--initial”参数。因为该参数会使节点删除由早期ndbd实例创建的、用于恢复的任何文件,包括用于恢复的日志文件。

    c、  启动SQL节点:

    /etc/rc.d/init.d/mysqld start

    5)、安全关闭mysql cluster

           在管理节点执行命令:/usr/bin/ndb_mgm –e shutdown

           sql节点执行:/etc/rc.d/init.d/mysqld stop

     

    6)、查看状态:

    ndb_mgm> show
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     2 node(s)
    id=11   @192.168.1.121  (mysql-5.1.47 ndb-7.0.16, Nodegroup: 0, Master)
    id=12   @192.168.1.110  (mysql-5.1.47 ndb-7.0.16, Nodegroup: 1)

    [ndb_mgmd(MGM)] 1 node(s)
    id=1    @192.168.1.108  (mysql-5.1.47 ndb-7.0.16)

    [mysqld(API)]   1 node(s)
    id=21   @192.168.1.159  (mysql-5.1.47 ndb-7.0.16)

                    

    感谢叶金荣大师的文章:http://imysql.cn/node/96

  • 相关阅读:
    工业互联网兴起
    互联网经济学
    广泛应用的区块链技术
    工业互联网数据传输探讨
    谈谈网站性能
    深入探讨vue响应式原理
    工业互联网虚拟数字
    对www.518shengmao.com站资源打包,采用vue Node.js
    jquery的事件命名空间详解
    巧用索引与变量
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7170378.html
Copyright © 2011-2022 走看看