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

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

规划了5台服务器,10.10.22.123~10.10.22.127   其中,123、124做数据节点,125做管理节点,126、127做SQL节点。

一、准备工作:

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*

三、配置数据节点(123和124)

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

首先建立数据节点的文件夹为:/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节点(126和127)

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

1、vim  /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环境启动(注意顺序)

关防火墙、selinux(setenforce 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_mgm来show查看所有节点状态,如下:

MySQL集群搭建的更多相关文章

  1. windows+mysql集群搭建-三分钟搞定集群

    注:本文来源:  陈晓婵   <  windows+mysql集群搭建-三分钟搞定集群   > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...

  2. 2-20 MySQL集群搭建实现高可用

    MySQL集群概述和安装环境 MySQL Cluster是MySQL适合于分布式计算环境的高实用.高冗余版本.Cluster的汉语是"集群"的意思.它采用了NDB Cluster ...

  3. MySQL集群搭建详解

    概述 MySQL Cluster 是MySQL 适合于分布式计算环境的高实用.可拓展.高性能.高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达 ...

  4. MySQL集群搭建方案(PXC)

    服务器快过期了,清一点库存,把运维这块的知识复习下 为什么要搭MySQL集群 技术层面上,传统的单节点数据库,万一宕机了,就凉凉了.容灾性能差.抗并发能力有限,数据量大的时候查询有瓶颈.学习层面上,作 ...

  5. Mysql集群搭建(多实例、主从)

    1 MySQL多实例 一 .MySQL多实例介绍 1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307,3308),运行多个MySQL服务进程,通 ...

  6. MySQL集群搭建(6)-双主+keepalived高可用

    双主 + keepalived 是一个比较简单的 MySQL 高可用架构,适用于中小 MySQL 集群,今天就说说怎么用 keepalived 做 MySQL 的高可用. 1 概述 1.1 keepa ...

  7. mysql集群搭建教程-基础篇

           计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行.于是在孟海滨师哥的带领下开始了我的第一次搭建mysql集群,首先看了一些关于集群的资料,然后根 ...

  8. Linux MySQL集群搭建之主从复制

    前期准备 准备两台Linux,一主,一从,具体Linux安装MySQL操作步骤:点我直达 集群搭建 注意事项 一主可以多从 一从只能一主 关闭主从机器的防火墙策略 chkconfig iptables ...

  9. Mysql集群搭建-实操

    集群安装--准备工作 官网地址 https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-linux-binary.html 一.环境 ...

随机推荐

  1. android 集成友盟分享之后,想自定义分享面板的看过来

    第一种情况 首先上传一张默认的友盟分享的效果图 看起来还不错,但是总是有这样那样的原因,需要我们对默认效果做出一些改变. 第二种情况 如果你想做出下面的效果: 或者这样的效果 : 总之上面的效果总是在 ...

  2. AC日记——【模板】普通平衡树(Treap/SBT) 洛谷 P3369

    [模板]普通平衡树(Treap/SBT) 思路: 劳资敲了一个多星期: 劳资终于a了: 劳资一直不a是因为一个小错误: 劳资最后看的模板: 劳资现在很愤怒: 劳资不想谈思路!!! 来,上代码: #in ...

  3. Cryptography I 学习笔记 --- 基于Diffie-Hellman的公钥加密

    1. Diffie-Hellman协议: 假定g是集合G的生成元,G有n个元素. Alice随机选取1-n中的一个数a,并公布ga为公钥 Bob随机选取1-n中的一个数b,并公布gb为公钥 那么gab ...

  4. 洛谷 P1056 排座椅【贪心/结构体排序】

    题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...

  5. TopCoder SRM 301 Div2 Problem 1000 CorrectingParenthesization(区间DP)

    题意  给定一个长度为偶数的字符串.这个字符串由三种括号组成. 现在要把这个字符串修改为一个符合括号完全匹配的字符串,改变一个括号的代价为$1$,求最小总代价. 区间DP.令$dp[i][j]$为把子 ...

  6. 参数化2--CSV Data Set Config 参数化配置

    众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...

  7. Network | Cookie and Session

    Cookies are arbitrary pieces of data chosen by the web server and sent to the browser. The browser r ...

  8. Google Cloud服务免费申请试用以及使用教程

    简介 Google Cloud Platform lets you build and host applications and websites, store data, and analyze ...

  9. Mac测试模拟慢网速

    先普及一下Kb,KB,Kbps,Mb,Mbps等一些列概念 1Byte = 8bit 1KB (Kilobyte 千字节)=1024Byte 1MB (Megabyte,兆字节,简称“兆”)=1024 ...

  10. 【Java】List转化为数组

    List转化为数组的两种方式: 第一种: List<String> list = new ArrayList<>(); String [] arr = list.toArray ...