zoukankan      html  css  js  c++  java
  • centos7.5部署mysql cluster NDB总结

    架构:

    192.168.188.101 (NDB mgmd节点;sql节点01)
    192.168.188.102  (sql节点02)
    192.168.188.103  (NDBD节点01)
    192.168.188.104    (NDBD节点02)
    192.168.188.105      (LVS-01)
    192.168.188.106      (LVS-02)
    192.168.188.188         (WEB前端)

    一、NDB mgmd节点

    安装好centos 7.5后

    1、关闭selinux和防火墙

    sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    setenforce 0
    systemctl stop firewalld.service
    systemctl disable firewalld.service

    =========================================================

    2、更新yum库

    yum -y update

    ========================================

    3、下载mysql安装包

    wget https://downloads.mysql.com/archives/get/file/mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz

    解压:

    tar -xvf mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz  

    剪切文件到/usr/local/mysql目录

    mv mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64 /usr/local/mysql

    创建mysql cluster文件夹并创建配置文件

    mkdir -p /data/mysql/mysql-cluster

     cd /data/mysql/mysql-cluster

     vim mgmd.cnf

    [ndbd default]
    
    NoOfReplicas=2
    DataMemory=80M
    IndexMemory=18M
    
    [ndb_mgmd]
    
    hostname=192.168.188.101
    datadir=/data/mysql/mysql-cluster
    
    [ndbd]
    
    hostname=192.168.188.103
    datadir=/usr/local/mysql/data
    
    [ndbd]
    
    hostname=192.168.188.104
    datadir=/usr/local/mysql/data
    
    [mysqld]
    
    hostname=192.168.188.101
    
    [mysqld]
    
    hostname=192.168.188.102
    
    [mysqld]
    

      

    启动mysql cluster集群

    /usr/local/mysql/bin/ndb_mgmd -f mgmd.cnf 

    查看进程情况

    [root@db01 mysql-cluster]# ps -ef|grep mgmd|grep -v grep
    root 43958 1 0 19:28 ? 00:00:00 /usr/local/mysql/bin/ndb_mgmd -f mgmd.cnf

    [root@db01 mysql-cluster]# /usr/local/mysql/bin/ndb_mgm 192.168.188.101
    -- NDB Cluster -- Management Client --
    ndb_mgm> show
    Connected to Management Server at: 192.168.188.101:1186
    Cluster Configuration
    ---------------------
    [ndbd(NDB)] 2 node(s)
    id=2 (not connected, accepting connect from 192.168.188.103)
    id=3 (not connected, accepting connect from 192.168.188.104)

    [ndb_mgmd(MGM)] 1 node(s)
    id=1 @192.168.188.101 (mysql-5.7.22 ndb-7.6.6)

    [mysqld(API)] 3 node(s)
    id=4 (not connected, accepting connect from 192.168.188.101)
    id=5 (not connected, accepting connect from 192.168.188.102)
    id=6 (not connected, accepting connect from any host)

    ndb_mgm>

    其他sql节点和NDB节点未部署,所以提示没连接;

    二、sql节点:

    安装好centos 7.5后

    1、关闭selinux和防火墙

    sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    setenforce 0
    systemctl stop firewalld.service
    systemctl disable firewalld.service

    =========================================================

    2、更新yum库

    yum -y update

    ========================================

    3、下载mysql安装包

    wget https://downloads.mysql.com/archives/get/file/mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz

    解压:

    tar -xvf mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz  

    剪切文件到/usr/local/mysql目录

    mv mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64 /usr/local/mysql

    创建data文件夹并创建配置文件

    mkdir -p /usr/local/mysql/data

    =======================================

    配置mysql文件
    vim /etc/my.cnf

    [client]
    socket=/usr/local/mysql/mysql.sock
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    ndbcluster
    ndb-connectstring=192.168.188.101 #管理节点ip
    default-storage-engine=ndbcluster
    [mysql_cluster]
    ndb-connectstring=192.168.188.101 #管理节点ip
    

      

      

    初始化MYsql数据库:
    cd /usr/local/mysql
    groupadd mysql
    useradd -r -g mysql mysql
    chown -R mysql .
    chgrp -R mysql .
    bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    记录下初始化后mysql的root密码

    A temporary password is generated for root@localhost: v:u-LSj,j7Nr

    改回授权

    [root@db01 mysql]# chown -R root .
    [root@db01 mysql]# chown -R mysql data

    查找默认的mysql.sock目录软连接自定义的mysql.sock目录

    find / -name mysql.sock

    ln -s /tmp/mysql.sock /usr/local/mysql/mysql.sock

    添加系统启动项

    cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
    chmod +x /etc/init.d/mysql
    chkconfig --add mysql
    service mysql start

    添加全局变量:

    vim /etc/profile
    PATH=$PATH:/usr/local/mysql:/usr/local/mysql/bin
    export PATH
    wq
    source /etc/profile

    service mysql restart

    cd //usr/local/mysql/
    bin/mysqladmin -uroot -p password '2285003' #修改密码

    mysql -u root -p  #登录mysql

    其他多台也同样重复配置即可;

    =========================================

     三、NDBD服务器部署

    安装好centos 7.5后

    1、关闭selinux和防火墙

    sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    setenforce 0
    systemctl stop firewalld.service
    systemctl disable firewalld.service

    =========================================================

    2、更新yum库

    yum -y update

    ========================================

    3、下载mysql安装包

    wget https://downloads.mysql.com/archives/get/file/mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz

    解压:

    tar -xvf mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz  

    剪切文件到/usr/local/mysql目录

    mv mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64 /usr/local/mysql

    创建data文件夹并创建配置文件

    mkdir -p /usr/local/mysql/data

    编辑mysql配置文件

    [root@db03 ~]# vim /etc/my.cnf

    [mysqld]
    
    ndbcluster #运行NDB存储引擎
    
    ndb-connectstring=192.168.188.101 #定位管理节点
    
    [mysql_cluster]
    
    ndb-connectstring=192.168.188.101 #定位管理节点
    

      

    第一次连接需要加上 --initial连接成功后以后都不要加这个参数;

     /usr/local/mysql/bin/ndbd  --initial --ndb-connectstring=192.168.188.101

    连接成功后查看进程

    [root@db03 data]# ps -ef | grep nbd
    root 43974 1272 0 20:11 pts/0 00:00:00 grep --color=auto nbd

    其他多台也同样重复配置即可;

    ============================================================================

    回到NDB-mgmd节点查看状态:

    [root@db01 ~]# /usr/local/mysql/bin/ndb_mgm 192.168.188.101
    -- NDB Cluster -- Management Client --
    ndb_mgm> show
    Connected to Management Server at: 192.168.188.101:1186
    Cluster Configuration
    ---------------------
    [ndbd(NDB)] 2 node(s)
    id=2 @192.168.188.103 (mysql-5.7.22 ndb-7.6.6, Nodegroup: 0, *)
    id=3 @192.168.188.104 (mysql-5.7.22 ndb-7.6.6, Nodegroup: 0)

    [ndb_mgmd(MGM)] 1 node(s)
    id=1 @192.168.188.101 (mysql-5.7.22 ndb-7.6.6)

    [mysqld(API)] 3 node(s)
    id=4 (not connected, accepting connect from 192.168.188.101)
    id=5 (not connected, accepting connect from 192.168.188.102)
    id=6 @192.168.188.101 (mysql-5.7.22 ndb-7.6.6)

    ndb_mgm>

    这样就完成了mysql cluster NDB部署,后面再补上lvs+keepalive的部署;

    注意:NDB高可用集群只支持用NDB引擎创建的表在各节点同步,sql库的权限也是独立的,所以还需要做集群后mysql用户权限同步;

  • 相关阅读:
    初学Android: 四大组件之Activity
    jQuery Pagination Plugin ajax分页控件
    PHPExcel 多工作表 导入
    PHPExcel 多工作表 导出
    js常用方法
    如何让多个不同版本的jquery库共存
    总结机器学习部分计算原理—续
    第四周学习进度报告
    总结机器学习部分计算原理
    数据清洗报告
  • 原文地址:https://www.cnblogs.com/yancao/p/9596966.html
Copyright © 2011-2022 走看看