7.mysql-cluster集群-安装篇

2015-02-02 13:33:23 · 作者: · 浏览: 17

本文主要介绍Mysql-Cluster的安装,首先先简单了解一下:(linux用户,本人 debian)

MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。(百度粘贴-_-)

一、简介

Mysql-cluster分为:

1. 管理节点:管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等

2. 数据节点:用于保存 Cluster的数据

3. Sql节点:用来访问 Cluster数据的节点

二、安装

此安装为1个管理节点,2个数据节点,2个sql节点,安装在两台机器,一台机器:管理节点,数据节点,sql节点,另一台:数据节点,sql节点

 节点名称

 IP

 管理节点

 192.168.1.111

 数据节点1

 192.168.1.111

 数据节点2

 192.168.1.112

 Sql节点1

 192.168.1.111

 Sql节点2

 192.168.1.112

?

三、安装步骤

1. 为mysqld增加一个登陆用户组,两台服务器都需要

# groupadd mysql

# useradd –g mysqlmysql

?

2. 安装管理节点

# tar zxvf mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz

# mv mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64/*/opt/mysql –r

创建mysql-cluster目录,并配置config.ini

# mkdir/apps/mysql/mysql-cluster

# cd/apps/mysql/mysql-cluster

# vi config.ini

内容如下:

[ndbddefault]

NoOfReplicas=2 (代表sql节点的数量)

DataMemory=500M

indexMemory=300M

[tcpdefault]

SendBufferMemory=2M

ReceiveBufferMemory=2M

[ndb_mgmddefault]

PortNumber=1186

Datadir=/apps/mysql/mysql-cluster

[ndb_mgmd]

NodeId=1

HostName=192.168.1.111

[ndbd]

NodeId=2

HostName=192.168.1.111

DataDir=/apps/mysql/data

[ndbd]

NodeId=2

HostName=192.168.1.112

DataDir=/apps/mysql/data



[mysqld]

NodeId=3

Hostname=192.168.1.111

[mysqld]

NodeId=3

Hostname=192.168.1.112

?

3. 安装数据节点

Vi /etc/my.cnf

如下:

[mysqld]

datadir=/opt/mysql/ndbdata

port =3306

?

ndbcluster #数据节点(因为在一台机器所以合并)

ndb-connectstring=192.168.1.111

port =3307

[mysql_cluster]

ndb-connectstring = 192.168.1.111

?

4. 安装sql节点

Vi /etc/my.cnf

如下:

[mysqld]

datadir=/opt/mysql/ndbdata

port =3306

?

ndbcluster #数据节点(因为在一台机器所有合并)

ndb-connectstring=192.168.1.111

port =3307

[mysql_cluster]

ndb-connectstring = 192.168.1.111

?

next:(安装mysqld)

# cd /opt/mysql

# ./scripts/mysql_install_db –user=mysql (安装到了 /opt/mysql/ndbdata)

?

5. 开始启动cluster

开启顺序: 管理节点->数据节点->sql节点

?

管理节点启动

# cd /opt/mysql

# ./bin/ndb_mgmd –f /apps/mysql/mysql-cluster/config.ini--configdir=/apps/mysql/mysql-cluster/--ndb-nodeid=1

?

数据节点启动(两个节点都要启动,不然sql节点不能启动)

# cd /opt/mysql

# ./bin/ndbd –-initial –-ndb-connectstring=192.168.1.111:1186

?

Sql节点启动

# cd /opt/mysql/ndbdata

# ../bin/mysqld_safe –user=mysql &

?

6. 查看

# cd /opt/mysql/

# ./bin/ndb_mgm –e show

Connectedto Management Server at: 192.168.1.111:1186

ClusterConfiguration

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

[ndbd(NDB)] 1 node(s)

id=2 @192.168.1.111 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0, *)

id=3 @192.168.1.112 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0, *)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.1.111 (mysql-5.6.21 ndb-7.3.7)

[mysqld(API)] 1 node(s)

id=4 @192.168.1.112 (mysql-5.6.21 ndb-7.3.7)

id=5 @192.168.1.112 (mysql-5.6.21 ndb-7.3.7)

说明已经成功

7. 问题

Q: sql节点无法启动“Tablesnot available after 30 seconds. Considerincreasing --ndb-wait-setup value”

A: 数据节点没有全部启动

Q: sql节点启动时: “Unable to lock./ibdata1, error: 11”

A: 已经启动了

Q: 登录sql时:mysql –u root-p

1045 access denied for user 'root'@'localhost' using password yes

A: 直接 mysql –u root (需要修改配置文件)