一、安装前规划

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停止服务方法。

MySQL NDB集群安装配置(mysql cluster 9.4.13 installation)的更多相关文章

  1. MySQL PXC集群安装配置

    1.关闭防火墙 [root@node04 ~]#systemctl disable firewalld [root@node04 ~]#systemctl stop firewalld [root@n ...

  2. mysql集群安装配置

    看网上很多人说mysql集群不是很稳定,因此这2天做了下mysql的集群,打算配置没有什么问题了,过2天做下相关的性能测试,我的配置环境如下:   操作系统:      Centos5.2    软件 ...

  3. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  4. hive集群安装配置

    hive 是JAVA写的的一个数据仓库,依赖hadoop.没有安装hadoop的,请参考http://blog.csdn.net/lovemelovemycode/article/details/91 ...

  5. RabbitMQ集群安装配置+HAproxy+Keepalived高可用

    RabbitMQ集群安装配置+HAproxy+Keepalived高可用 转自:https://www.linuxidc.com/Linux/2016-10/136492.htm rabbitmq 集 ...

  6. hbase单机环境的搭建和完全分布式Hbase集群安装配置

    HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...

  7. hbase和ZooKeeper集群安装配置

    一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...

  8. Hadoop2.2集群安装配置-Spark集群安装部署

    配置安装Hadoop2.2.0 部署spark 1.0的流程 一.环境描写叙述 本实验在一台Windows7-64下安装Vmware.在Vmware里安装两虚拟机分别例如以下 主机名spark1(19 ...

  9. CentOS下Hadoop-2.2.0集群安装配置

    对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...

随机推荐

  1. Java利用for循环输出空心的菱形

    编写程序,在控制台上输出空心菱形,对角距离为6. public class Diamond { public static void main(String[] args) { printHollow ...

  2. spring+hibernate 下载

    http://www.cnblogs.com/haogj/archive/2012/07/28/nhibernate.html-------原文 http://www.springframework. ...

  3. cocos2d-x 3.0 在C++中调用lua函数(2)

    个人觉得3.0里面, 在C++下面调用lua函数很不方便, 所以就扩展了一个类, 继承自LuaStack, 代码和使用方式如下: #ifndef __CC_LUA_STACKEX_H_ #define ...

  4. Import VMware ESXi from VirtualBox

    VirtualBox can export appliance VMs to OVF format. And you can import the ovf format to VMware ESXi, ...

  5. weblogic上部署项目出错

    一. Unable to access the selected application. Exception in AppMerge flows' progression Exception in ...

  6. postgres外部表之-oracle_fdw

    1. 安装Oracle客户端工具 编译安装oracle_fdw之前,需要安装Oracle的客户端程序:步骤略 下载地址:http://www.oracle.com/technetwork/databa ...

  7. hadoop的Map阶段的四大步骤

    深入理解map的几个阶段是怎样执行的.

  8. windows应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

  9. Python 扩展知识

    Python 练习题 Python 编程习惯 Python 转义字符 Python 格式化输出 Python 列表表达式 Python 生成器表达式 Python 序列化 Python2 与 Pyth ...

  10. 【译】Kafka学习之路

    一直在思考写一些什么东西作为2017年开篇博客.突然看到一篇<Kafka学习之路>的博文,觉得十分应景,于是决定搬来这“他山之石”.虽然对于Kafka博客我一向坚持原创,不过这篇来自Con ...