zoukankan      html  css  js  c++  java
  • MySQL集群搭建

    在集群中的所有主机上安装提供集群功能的软件包

    官网上下载的  mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz

    规划了5台服务器,10.10.22.123~10.10.22.127   其中,123124做数据节点,125做管理节点,126127SQL节点。

    一、准备工作:

    service mysql stop

    mhkconfig mysql off

    mv  /etc/my.cnf  /etc/my.cnf.bak

    rpm -qa | grep -i mysql   查看之前是由有rpm的依赖项,如果有,删除之

    rpm -e --nodeps  ...............................(依赖项的包名)

    如果/etc/passwd 下没有mysql用户,增加之

    useradd  -s  /sbin/nologin -M mysql

    tar -xvzf mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz

    mv mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64  /usr/local/mysql    

     

    二、配置管理节点(125

    1、管理集群中的所有主机,启动管理进程时加载自己的主配置文件/etc/config.ini(设置集群中各主机的角色,各个主机角色在运行时参数的设置)

    [ndbd default]   数据节点公共配置

    [ndb_mgmd]    设置管理主机

    [ndbd]    指定数据节点

    [mysqld]        指定sql节点

     

    vim /etc/config.ini

    [ndbd default]

    NoOfReplicas=2      #数据节点的份数,与数据节点个数相关

    DataMemory=5G    #数据占用内存 后期调

    IndexMemory=1G    

    [ndb_mgmd]

    NodeId=25           #管理节点的ID

    hostname=10.10.22.125     

    datadir=/var/log/mysql-cluster     #指定日志信息存放位置

    [ndbd]

    NodeId=23           #数据节点的ID

    hostname=10.10.22.123

    datadir=/mysql_data1   

    [ndbd]

    NodeId=24

    hostname=10.10.22.124

    datadir=/mysql_data2

    [mysqld]

    NodeId=26          #sql节点的ID

    hostname=10.10.22.126

    [mysqld]

    NodeId=27           #sql节点ID

    hostname=10.10.22.127       

     

    2、安装管理节点

    cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin

    cd /usr/local/bin

    chmod +x ndb_mgm*

     

     

    三、配置数据节点(123124)

    用来存储数据,运行数据进程。

    首先建立数据节点的文件夹为:/mysql_data1   /mysql_data2

    1、数据节点的配置文件如下:

    vim  /etc/my.cnf

    [mysqld]

    basedir=/usr/local/mysql

    datadir=/mysql_data1                    #存放数据的文件夹

    ndb-connectstring=10.10.22.125     #指定管理节点

    ndbcluster                           #指定存储引擎(这里不再是innodb)

    socket=/usr/local/mysql/sock/mysql.sock

    user=mysql

    # Disabling symbolic-links is recommended to prevent assorted security risks

    symbolic-links=0

    [mysqld_safe]

    log-error=/var/log/mysqld.log

    pid-file=/var/run/mysqld/mysqld.pid

    [mysql_cluster]

    ndb-connectstring=10.10.22.125

     

    2、安装创建系统数据库

    cd /usr/local/mysql

    mkdir sock

    scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mysql_data1

     

    3、更改目录属性

    chown -R root .

    chown -R mysql.mysql /mysql_data1

    chown -R mysql.mysql /usr/local/mysql/sock

    chgrp -R mysql .

     

    4、配置mysql服务

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

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

    chkconfig --add mysql.server

     

    四、配置sql节点(126127

    运行的是数据库服务(mysqld),供用户访问 和 执行sql语句。

    1vim  /etc/my.cnf

    [client]

    socket=/usr/local/mysql/sock/mysql.sock

    [mysqld]

    ndbcluster                     #指定数据库引擎

    default-storage-engine=ndbcluster        #建表时使用的默认存储引擎

    datadir=/usr/local/mysql/data

    socket=/usr/local/mysql/sock/mysql.sock

    ndb-connectstring=10.10.22.125

    [mysql_cluster]

    ndb-connectstring=10.10.22.125

     

    2、安装创建系统数据库

    cd /usr/local/mysql

    mkdir sock

    scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

     

    3、修改目录权限

    chown -R root .

    chown -R mysql.mysql /usr/local/mysql/data

    chown -R mysql.mysql /usr/local/mysql/sock

    chgrp -R mysql .

     

    4、配置mysql服务

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

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

    chkconfig --add mysql.server

     

    五、cluster环境启动(注意顺序)

    关防火墙、selinuxsetenforce 0

    1、启动管理进程

    ndb_mgmd -f /etc/config.ini

    还可以使用ndb_mgm命令来监听客户端

    可用netstat -utnalp | grep 1186 测试进程是否起来了

    如下:

    tcp        0      0 0.0.0.0:1186                0.0.0.0:*                   LISTEN      19206/ndb_mgmd

    tcp        0      0 127.0.0.1:1186              127.0.0.1:57812             ESTABLISHED 19206/ndb_mgmd

    tcp        0      0 127.0.0.1:57812             127.0.0.1:1186              ESTABLISHED 19206/ndb_mgmd

    (管理节点只能通过kill来停止进程,无法用service停止)

     

    2、启动数据进程

    首次启动,则需要添加--initial参数,以便进行NDB节点的初始化工作。在以后的启动过程中,则是不能添加该参数的,否则ndbd程序会清除在之前建立的所有用于恢复的数据文件和日志文件。

    /usr/local/mysql/bin/ndbd --initial

    或者  /usr/local/mysql/bin/ndbd

     

    3、启动sql节点上的数据库服务

    /usr/local/mysql/bin/mysqld_safe --user=mysql &

    或者 service  /etc/init.d/mysql.server start

    最后再:

    cp /usr/local/mysql/bin/mysql /usr/bin/

     

    至此,集群搭建完成!

     

    我们可以在管理节点(125)上用ndb_mgmshow查看所有节点状态,如下:


  • 相关阅读:
    【pandas】'Styler' object has no attribute 'highlight_between'
    【原创】3行代码搞定:Python批量实现多Excel多Sheet合并
    【挑战阿里面试题-10种方法实现DataFrame转list】
    SpringCloud+RocketMQ实现分布式事务
    分布式事物SAGA
    分布式事务TCC
    多线程学习——思维导图
    .NET CLI简单教程和项目结构
    使用Google Fonts注意事项
    如何在印刷品中使用遵循SIL Open Font License协议的字体
  • 原文地址:https://www.cnblogs.com/webber1992/p/5850750.html
Copyright © 2011-2022 走看看