设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 5070|回复: 9

[MySQL集群架构] MySQL NDB 6.3.20集群安装 [复制链接]

Rank: 6Rank: 6

签到
49
注册时间
2009-4-14
最后登录
2019-7-22
在线时间
72 小时
阅读权限
70
积分
4367
帖子
39
主题
6
精华
1
UID
2466
发表于 2009-4-20 16:05:10 |显示全部楼层
MySQL NDB 6.3.20集群安装  (本文为转载,有什么不对的地方,请大家指出。)

介绍:

MySQL集群是一种在无共享架构系统里应用内存数据库集群的技术。这种无共享的架构可以使得系统使用非常便宜的并且是最小配置的硬件。


MySQL集群是一种分布式设计,目标是要达到没有任何单点故障点。因此,任何组成部分都应该拥有自己的内存和磁盘。任何共享存储方案如网络共享,网络文件系统和SAN设备是不推荐或不支持的。通过这种冗余设计,MySQL声称数据的可用度可以达到99。999%。


实际上,MySQL集群是把一个叫做NDB的内存集群存储引擎集成与标准的MySQL服务器集成。它包含一组计算机,每个都跑一个或者多个进程,这可能包括一个MySQL服务器,一个数据节点,一个管理服务器和一个专有的一个数据访问程序。它们之间的关系如下图所示:

未命名.jpg

安装

准备:

机器:
全部安装Red Hat Linux AS 5且关闭防火墙

软件:
mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz


四台机器分别分配如下IP及用途:

IP

Description

192.168.99.80

Management Node

192.168.99.88

SQL Node

192.168.99.89

Data Node

192.168.99.90

Data Node



安装节点,四台机器,需要重复四次:

[root@candyshop ~]#groupadd mysql

[root@candyshop ~]#useradd ?g mysql mysql

[root@candyshop ~]#tar zxvf mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz

[root@candyshop ~]#chown mysql:mysql mysql-cluster-gpl-6.3.20-linux-i686-glibc23

[root@candyshop ~]#mv
mysql-cluster-gpl-6.3.20-linux-i686-glibc23 /usr/local/mysql


上述命令先创建mysql组和mysql用户,并且把mysql分配到mysql组,然后将安装文件解压,把它放置到/usr/local/mysql目录。


配置

配置管理节点[192.168.99.80]:

创建以下文件/usr/local/mysql/cluster-conf/config.ini,并且放置如下内容:

# Options affecting ndbd processes on all data nodes:

[ndbd default]

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.


# Management process options:

[ndb_mgmd]

Id=1

Hostname=192.168.99.80
# Hostname or IP address of management node

Datadir=/usr/local/mysql/logs
# Directory for management node log files


# Options for data node "A":

[ndbd]

Id=2

Hostname=192.168.99.89
# Hostname or IP address

Datadir=/usr/local/mysql/ndbdata
# Directory for this data node's data files


# Options for data node "B":

[ndbd]

Id=3

Hostname=192.168.99.90
# Hostname or IP address

Datadir=/usr/local/mysql/ndbdata
# Directory for this data node's data files


# SQL node options:

[mysqld]

Id=4

Hostname=192.168.99.88
# Hostname or IP address


# (additional mysqld connections can be


# specified for this node for various


# purposes such as running ndb_restore)



在这个文件里,我们分别给四个节点分配了ID,这有利于更好的管理和区分各个节点。当然,要是不指定,MySQL也会动态分配一个。上述几个Datadir如果还不存在的需要手动创建。用mkdir ?p命令即可。



配置数据节点[192.168.99.89, 192.168.99.90]:

创建/etc/my.cnf文件,内容如下

# Options for mysqld process:

[mysqld]

Datadir=/usr/local/mysql/ndbdata

ndbcluster
# run NDB storage engine

ndb-connectstring=192.168.99.80
# location of management server


# Options for ndbd process:

[mysql_cluster]

ndb-connectstring=192.168.99.80
# location of management server


配置SQL节点[192.168.99.88]

创建/etc/my.cnf文件,内容如下

# Options for mysqld process:

[mysqld]

ndbcluster
# run NDB storage engine

ndb-connectstring=192.168.99.80
# location of management server


# Options for ndbd process:

[mysql_cluster]

ndb-connectstring=192.168.99.80
# location of management server



[root@server88 mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --ldata=/usr/local/mysql/data/

Installing MySQL system tables...

OK

Filling help tables...

OK


到这里,所有配置已经完成了。


启动

启动管节点[192.168.99.80]:

[root@candyshop mysql]# ./bin/ndb_mgmd -f cluster-conf/config.ini

[root@candyshop mysql]# ./bin/ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: 192.168.99.80:1186

Cluster Configuration

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

[ndbd(NDB)]
2 node(s)

id=2 (not connected, accepting connect from 192.168.99.89)

id=3 (not connected, accepting connect from 192.168.99.90)


[ndb_mgmd(MGM)] 1 node(s)

id=1
@192.168.99.80
(mysql-5.1.30 ndb-6.3.20)


[mysqld(API)]
1 node(s)

id=4 (not connected, accepting connect from 192.168.99.88)


我们可以看到集群的状态都还没有启动,都是not connected状态。

[root@candyshop mysql]# ./bin/ndb_mgmd -f cluster-conf/config.ini

[root@candyshop mysql]# ./bin/ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: 192.168.99.80:1186

Cluster Configuration

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

[ndbd(NDB)]
2 node(s)

id=2 (not connected, accepting connect from 192.168.99.89)

id=3 (not connected, accepting connect from 192.168.99.90)


[ndb_mgmd(MGM)] 1 node(s)

id=1
@192.168.99.80
(mysql-5.1.30 ndb-6.3.20)


[mysqld(API)]
1 node(s)

id=4 (not connected, accepting connect from 192.168.99.88)




启动数据节点[192.168.99.89, 192.168.99.90]:

[root@server89 ~]#cd /usr/local/mysql

[root@server89 mysql]#./bin/ndbd




启动SQL节点[192.168.99.88]:

[root@server88 mysql]# ./bin/mysqld_safe &


至此,所有节点已经启动完成,让我们来查看系统状态:

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

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

[ndbd(NDB)]
2 node(s)

id=2
@192.168.99.89
(mysql-5.1.30 ndb-6.3.20, Nodegroup: 0, Master)

id=3
@192.168.99.90
(mysql-5.1.30 ndb-6.3.20, Nodegroup: 0)


[ndb_mgmd(MGM)] 1 node(s)

id=1
@192.168.99.80
(mysql-5.1.30 ndb-6.3.20)


[mysqld(API)]
1 node(s)

id=4
@192.168.99.88
(mysql-5.1.30 ndb-6.3.20)


至此,安装已经结束

已有 2 人评分积分 收起 理由
falcon + 1
linuxtone + 12 辛苦了!谢谢分享!

总评分: 积分 + 13   查看全部评分

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2019-11-16
在线时间
1946 小时
阅读权限
200
积分
59409
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2009-4-20 16:57:23 |显示全部楼层
嗯,这几天有时间我也测一下
lvs+ndb结构
<-sina_sign,1762622645,2a5b1a59,10->感谢大家对linuxtone的支持!</strong>

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-6-1
最后登录
2017-9-11
在线时间
152 小时
阅读权限
100
积分
2894
帖子
309
主题
39
精华
5
UID
35

LT同学

发表于 2009-4-21 10:02:10 |显示全部楼层
不错,看了更理解了一些,有时间测试一下

使用道具 举报

Rank: 1

注册时间
2009-4-13
最后登录
2019-7-22
在线时间
0 小时
阅读权限
1
积分
1
帖子
2
主题
0
精华
0
UID
2443
发表于 2009-4-21 17:23:35 |显示全部楼层
lvs+mysql_cluster 出问题啊

搭建是很正常的  数据也能同步

但是我在实际运用过程中出现了2个问题

问题1  节点上的 phpmyadmin 不能管理 mysql   提示服务器没有响应
问题2  数据如果要同步  表的类型必须是 ndb_cluster  
我在 /etc/my.cnf 里面设置 创建表后默认类型为  ndb_cluster  成功了
但是我装 DZ 论坛 表类型还是 my
我将my的类型导出 用文本替换的方式将其强行换成 ndb_cluster 再次导入后 报错


就这2个问题  一直困熬这我  郁闷死了

我QQ 632 362 050   一起交流

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-4-14
最后登录
2019-7-22
在线时间
72 小时
阅读权限
70
积分
4367
帖子
39
主题
6
精华
1
UID
2466
发表于 2009-4-21 23:54:48 |显示全部楼层
LS的,我最近也在做这个。
一起交流。
gtalk:sck339@gmail.com

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-4-14
最后登录
2019-7-22
在线时间
72 小时
阅读权限
70
积分
4367
帖子
39
主题
6
精华
1
UID
2466
发表于 2009-4-22 10:07:06 |显示全部楼层
导入数据完成,在改变表引擎的时候出错。
mysql>  alter table cdb_subscriptions    ENGINE=NDB;   
ERROR 1005 (HY000): Can't create table 'discuz.#sql-125b_14b' (errno: 135)
类似的还有很多表。

网上搜来报错的原因是:
1、外键的引用类型不一样,主键是int外键是char
2、找不到主表中 引用的列
3、主键和外键的字符编码不一致

小弟对sql知之不多,求教各位。。如何解决。

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-4-14
最后登录
2019-7-22
在线时间
72 小时
阅读权限
70
积分
4367
帖子
39
主题
6
精华
1
UID
2466
发表于 2009-4-22 16:32:46 |显示全部楼层
本帖最后由 sck339 于 2009-4-22 16:34 编辑

mysql官网找到部分可以解决的方法:
http://forums.mysql.com/read.php?25,133034,201184#msg-201184


Did you start the mysql daemon before the cluster was up and running, so only the ndb_mgmd was online?

Start the cluster (start your ndbd processes and bring them online) and then restart the cluster, this works for me



意思就是仍然有部分存在问题。

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-11-27
最后登录
2019-3-21
在线时间
208 小时
阅读权限
100
积分
6501
帖子
772
主题
367
精华
4
UID
632

LT同学

发表于 2009-5-21 11:55:48 |显示全部楼层
增加这两个参数的值
MaxNoOfAttributes
MaxNoOfOrderedIndexes
http://hi.baidu.com/ytjwt/

使用道具 举报

Rank: 8Rank: 8

注册时间
2011-3-10
最后登录
2019-7-22
在线时间
133 小时
阅读权限
90
积分
36439
帖子
65
主题
22
精华
0
UID
12322
发表于 2011-6-15 16:38:58 |显示全部楼层
同时连接数能达到多大啊,能够突破十万不

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-2-8
最后登录
2019-7-22
在线时间
2602 小时
阅读权限
70
积分
4952
帖子
1283
主题
1170
精华
0
UID
7906
发表于 2011-6-20 14:28:59 |显示全部楼层
cool~~~:D

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-4-7 07:53 , Processed in 0.046130 second(s), 17 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部