zoukankan      html  css  js  c++  java
  • MySQL NDB集群安装配置(mysql cluster 9.4.13 installation)

    一、安装前规划

    1、安装软件版本:mysql-cluster-gpl-7.4.13-linux-glibc2.5-x86_64.tar.gz

    2、安装规划:

    主机名

    Ip地址

    角色

    db01

    192.168.100.131

    管理节点

    db02

    192.168.100.132

    SQL节点

    db03

    192.168.100.133

    SQL节点

    db04

    192.168.100.134

    data节点

    db05

    192.168.100.135

    data节点

    3、配置/etc/hosts文件(所有节点):

    192.168.100.231         db01

    192.168.100.232         db02

    192.168.100.233         db03

    192.168.100.234         db04

    192.168.100.235         db05

    二、安装NDB Cluster

    1、SQL节点安装:

    在每一个被指定为SQL节点的主机上,使用root用户执行以下步骤:

    1)检查你的操作系统上是否已经创建了mysql组及mysql用户,一些操作系统在安装时会预创建mysql组及mysql用户,如果你的操作系统上没有创建这些,那么通过如下步骤创建mysql组及mysql用户。

    shell> groupadd mysql

    shell> useradd -g mysql -s /bin/false mysql

    2)在本地操作系统下载mysql软件目录中,解压安装软件,并移动到/usr/local/目录下,根据需要是否使用软连接(ln -s)。

    shell> cd /mnt

    shell> tar -C /usr/local -xzvf mysql-cluster-gpl-7.4.13-linux-glibc2.5-x86_64.tar.gz

    shell> ln -s /usr/local/mysql-cluster-gpl-7.4.13-linux-glibc2.5-x86_64 /usr/local/mysql

    3)进入到本地的mysql安装目录,并且通过mysqld --initialize命令初始化mysql系统数据库。

    shell> cd mysql

    shell> mysqld --initialize

    当然,你也可以进入mysql安装目录,通过mysql_install_db命令初始化mysql系统数据库。

    shell> cd mysql

    shell> scripts/mysql_install_db --user=mysql

    然而,这种方式是不推荐使用的,因为mysql_install_db将被弃用在以后的版本中。

    4)为mysql服务器和data目录设置必要的权限。

    shell> chown -R root .

    shell> chown -R mysql data

    shell> chgrp -R mysql .

    5)copy mysql启动脚本到/etc/rc.d/init.d/下,并且设置可执行文件,然后通过chkconfig命令添加为服务。

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

    shell> chmod +x /etc/rc.d/init.d/mysql.server

    shell> chkconfig --add mysql.server

    记住,必须在每一台SQL节点上执行以上步骤。

    2、data节点安装:

    安装data节点不需要mysql二进制文件,仅需要在NDB cluster的data节点执行ndbd(single-treaded) or ndbmtd(multi-threaded),mysql二进制安装文件也包含在以上的tar包中。

    以root用户登录操作系统,执行以下步骤安装data 节点在每一台data 节点服务器上。

    1)进入到mysql下载目录下,并且抓取这个ndbd和ndbmtd二进制文件到/usr/local/bin/目录下,

    shell> cd /mnt

    shell> tar -zxvf mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23.tar.gz

    shell> cd mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23

    shell> cp bin/ndbd /usr/local/bin/ndbd

    shell> cp bin/ndbmtd /usr/local/bin/ndbmtd

    在ndbd和ndbdmtd已经复制到/usr/local/bin/下后,你也可以删除mysql解压目录和下载文件,并且这是非常安全的。

    2)进入到/ust/local/bin/目录下,将步骤1 copy的ndbd和ndbmtd文件设置为可执行文件。

    shell> cd /usr/local/bin

    shell> chmod +x ndb*

    执行以上这些步骤在每一台data节点服务器上。

    3、Management 节点安装:

    安装管理节点不需要mysql二进制文件,仅需要安装NDB cluster management server (ndb_mgmd),并且你可能还想安装management client (ndb_mgm),所有的这些都可以在tar包中发现。

    以root用户身份登录操作系统,执行安装ndb_mgmdndb_mgm命令在management节点服务器上。

    1)进入到mysql解压目录,抓取ndb_mgmd和ndb_mgm二进制文件copy到/usr/local/bin/目录下。

    shell> cd /var/tmp

    shell> tar -zxvf mysql-5.7.17-ndb-7.5.6-linux2.6-i686.tar.gz

    shell> cd mysql-5.7.17-ndb-7.5.6-linux2.6-i686

    shell> cp bin/ndb_mgm* /usr/local/bin

    你也可以删除mysql解压目录和下载文件,并且这是非常安全的。

    2)进入到/ust/local/bin/目录下,将步骤1 copy的ndb_mgmd和ndb_mgm文件设置为可执行文件。

    shell> cd /usr/local/bin

    shell> chmod +x ndb_mgm*

    三、配置NDB Cluster

    这里描述如何通过最小化配置部署一个NDB cluster集群。

    说明:每一个data节点和SQL节点需要配置一个my.cnf文件,并且提供两个选项的说明:其中一个告诉哪里可以找到management节点;另一个告诉mysql 服务器这个主机是否启动NDB Cluster存储引擎。

    管理节点需要配置一个congin.ini的配置文件,它描述了集群存在几个副本,在每一个节点为数据和索引各分配多少内存,数据节点在哪里,每一个数据节点中在磁盘的哪里保存数据,以及存在哪些SQL节点。

    1、配置数据节点和SQL节点

    数据节点和SQL节点在my.cnf文件所需要的配置相当简单,并且这个文件应该放在/etc/目录下,可以通过任何编辑器对其进行编辑,例如:

    shell> vi /etc/my.cnf

    每个数据节点和SQL节点配置可以参考如下内容:

    [mysqld]

    # Options for mysqld process:

    ndbcluster                      # run NDB storage engine

    [mysql_cluster]

    # Options for NDB Cluster  processes:

    ndb-connectstring=192.168.0.10  # location of management server

    本例中每个sql节点和data节点/etc/my.cnf示例配置如下:

    [mysqld]

    basedir=/usr/local/mysql/

    datadir=/usr/local/mysql/data/

    user=mysql

    log-error=/usr/local/mysql/data/sqlnode.err

    ndbcluster

    ndb-connectstring=db01

    [mysql_cluster]

    ndb-connectstring=db01

    2、配置管理节点

    配置管理节点的第一步是创建目录和创建配置文件本身(以root用户身份执行)。

    shell> mkdir /var/lib/mysql-cluster

    shell> cd /var/lib/mysql-cluster

    shell> vi config.ini

    管理节点的config.ini配置文件内容可能如下:

    [ndbd default]

    # Options affecting ndbd processes on all data nodes:

    NoOfReplicas=2    # Number of replicas

    DataMemory=80M    # How much memory to allocate for data storage

    IndexMemory=18M   # How much memory to allocate for index storage

                      # For DataMemory and IndexMemory, we have used the

                      # default values. Since the "world" database takes up

                      # only about 500KB, this should be more than enough for

                      # this example Cluster setup.

    [tcp default]

    # TCP/IP options:

    portnumber=2202   # This the default; however, you can use any

                      # port that is free for all the hosts in the cluster

                      # Note: It is recommended that you do not specify the port

                      # number at all and simply allow the default value to be used

                      # instead

    [ndb_mgmd]

    # Management process options:

    hostname=192.168.0.10           # Hostname or IP address of MGM node

    datadir=/var/lib/mysql-cluster  # Directory for MGM node log files

    [ndbd]

    # Options for data node "A":

                                    # (one [ndbd] section per data node)

    hostname=192.168.0.30           # Hostname or IP address

    datadir=/usr/local/mysql/data   # Directory for this data node's data files

    [ndbd]

    # Options for data node "B":

    hostname=192.168.0.40           # Hostname or IP address

    datadir=/usr/local/mysql/data   # Directory for this data node's data files

    [mysqld]

    # SQL node options:

    hostname=192.168.0.20           # Hostname or IP address

                                    # (additional mysqld connections can be

                                    # specified for this node for various

                                    # purposes such as running ndb_restore)

    本例中管理节点config.ini文件内容如下:

    [ndbd default]

    NoOfReplicas=1

    DataMemory=100M

    IndexMemory=80M

    [tcp default]

    portnumber=2202

    [ndb_mgmd]

    hostname=db01

    datadir=/var/lib/mysql-cluster

    [ndbd]

    hostname=db04

    datadir=/usr/local/mysql/data

    [ndbd]

    hostname=db05

    datadir=/usr/local/mysql/data

    [mysqld]

    hostname=db02

    [mysqld]

    hostname=db03

    说明:mysql cluster默认管理节点端口号是1186,;默认数据节点端口号是2202;然而,集群可以自动获得端口为哪些自由的数据节点。

    四、启动集群

    在成功配置后启动集群并不是很困难,每个解决节点必须分别被启动,首先启动管理节点,其次启动数据节点,最后再启动SQL节点。

    1、在管理节点主机上,在shell中输入如下内容用于启动管理节点:

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

    2、在每一个数据节点上,shell下运行ndbd命令用于启动数据节点:

    shell> ndbd

    3、在每一个sql节点上,通过mysql启动命令启动SQL节点:

    shell>service mysqld start

    如果一切顺利,集群可以正确启动,现在你可以进行一些测试操作。你可以使用管理节点客户端测试工具ndb_mgm,输出当前的集群配置信息及运行状态。

    ndb_mgm> show

    Connected to Management Server at: localhost:1186

    Cluster Configuration

    ---------------------

    [ndbd(NDB)] 2 node(s)

    id=2 @192.168.100.234  (mysql-5.6.34 ndb-7.4.13, Nodegroup: 0, *)

    id=3 @192.168.100.235  (mysql-5.6.34 ndb-7.4.13, Nodegroup: 1)

    [ndb_mgmd(MGM)] 1 node(s)

    id=1 @192.168.100.231  (mysql-5.6.34 ndb-7.4.13)

    [mysqld(API)] 2 node(s)

    id=4 @192.168.100.232  (mysql-5.6.34 ndb-7.4.13)

    id=5 @192.168.100.233  (mysql-5.6.34 ndb-7.4.13)

    五、关闭集群

    想要关闭集群,在管理节点主机的shell下输入如下命令:

    shell> ndb_mgm -e shutdown

    这个-e命令可以安全的kill掉运行 ndb_mgm, ndb_mgmdndbd 或者 ndbmtd的进程。

    如果想要关闭sql节点,应该使用mysql停止服务方法。

  • 相关阅读:
    事务
    触发器
    SQL 存储过程
    SQL 视图 索引
    SQL 函数
    SQL查询语句练习
    SQL约束
    SQL Server 数据的添加修改删除和查询
    The type ProxyGenerator is not accessible due to restriction on required library问题的解决
    ==与equals
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/6679151.html
Copyright © 2011-2022 走看看