您的位置:首页 > 数据库 > MySQL

7. mysql-cluster 集群 - 安装篇

2014-12-30 16:28 330 查看
本文主要介绍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)

说明已经成功

四、 问题

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 (需要修改配置文件)

五、未解决问题

Q:./bin/mysqld_safe & 的时候,显示

# mysqld_safe Logging to '/opt/mysql/ndbdata/debian115.err'.

# mysqld_safe Starting mysqld daemon with databases from /opt/mysql/ndbdata



一直卡在这个界面,ctrl+c后,关闭,但其实mysql已经启动,希望可以大家能给出解决方案。

注:欢迎踊跃提出疑问,共同进步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: