TA的每日心情 | 开心 2012-3-7 10:15 |
---|
签到天数: 11 天 [LV.3]偶尔看看II
|
1.先了解一下你是否应该用MySQL集群。
减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库。把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面。其他不共享的数据还维持在各自分布
2.集群MySQL中名称概念.(如上图)
1)Sql结点(SQL node--上图对应为MySQLd):分布式数据库。包括自身数据和查询中心结点数据.
2)数据结点(Data node -- ndbd):集群共享数据(内存中).
3)管理服务器(Management Server – ndb_mgmd):集群管理SQL node,Data node.
3.配置
MySQL-max版本,当然现在MySQL集群系统windonws平台上面不被支持.
安装MySQL就不多说了,网上一大堆,简明扼要。
A:192.168.1.251 – Data node和Management Server.
B:192.168.1.254 – SQL node.
当然,你也可以让一个机器同时为3者。
A,B my.inf加上:
[MySQLD] ndbcluster#runNDBengine ndb-connectstring=192.168.1.251#locationofMGMnode #Optionsforndbdprocess: [MySQL_CLUSTER] ndb-connectstring=192.168.1.251#locationofMGMnode A:/var/lib/MySQL-cluster/config.ini [NDBDDEFAULT] NoOfReplicas=1#Numberofreplicas DataMemory=80M#Howmuchmemorytoallocatefordatastorage IndexMemory=18M#Howmuchmemorytoallocateforindexstorage #ForDataMemoryandIndexMemory,wehaveusedthe #defaultvalues.Sincethe"world"databasetakesup #onlyabout500KB,thisshouldbemorethanenoughfor #thisexampleClustersetup. #TCP/IPoptions: [TCPDEFAULT] portnumber=2202#Thisthedefault;however,youcanuseany #portthatisfreeforallthehostsincluster #Note:ItisrecommendedbeginningwithMySQL5.0that #youdonotspecifytheportnumberatallandsimplyallow #thedefaultvaluetobeusedinstead #Managementprocessoptions: [NDB_MGMD] hostname=192.168.1.251#HostnameorIPaddressofMGMnode datadir=/var/lib/MySQL-cluster#DirectoryforMGMnodelogfiles #Optionsfordatanode"A": [NDBD] #(one[NDBD]sectionperdatanode) hostname=192.168.1.251#HostnameorIPaddress datadir=/usr/local/MySQL/data#Directoryforthisdatanode'sdatafiles #SQLnodeoptions: [MySQLD] hostname=192.168.1.254 #[MySQLD]#这个相当于192.168.1.251 [/ol]
4.启动测试
在管理服务器上面(这里是192.168.1.251):
shell>ndb_mgmd-f/var/lib/MySQL-cluster/config.ini[/ol]
在数据结点服务器上面(依然是192.168.1.251and more):
shell>ndbd--initial(第一次时加--initial参数)[/ol]
SQL结点服务器上面(192.168.1.254):
shell>MySQLd&[/ol]
在251上面察看
./ndb_mgm --NDBCluster--ManagementClient-- ndb_mgm>show ConnectedtoManagementServerat:192.168.1.251:1186 ClusterConfiguration --------------------- [ndbd(NDB)]1node(s) id=2@192.168.1.251(Version:5.0.22,Nodegroup:0,Master) [ndb_mgmd(MGM)]1node(s) id=1@192.168.1.251(Version:5.0.22) [MySQLd(API)]1node(s) id=3@192.168.1.254(Version:5.0.22)[/ol]
ok
关闭集群:
shell>ndb_mgm-eshutdown[/ol]
5.基本的集群说明
1)在MySQL集群中.当table引擎为NDBCLUSTER时才做集群,其他非NDBCLUSTER表和一般MySQL数据库表一样,不会共享数据. NDBCLUSTER表数据存储在Data node服务器内存中,Data Node可以为1台或多台服务器,它们之间存放共享数据。Data Node服务器可以分组数据copy。
例如:2,3,4,5为四台Data Node服务器ID. 2,3为组0。4,5为组1。2,3维持数据相同,4,5维持数据相同。 组0和组1维持数据不同。
2)sql node服务器中,非NDBCLUSTER数据存在本身数据库中,table引擎为NDBCLUSTER时,数据存储在Data Node中。当查询NDBCLUSTER表时,它会从Data node集群中提起数据.
3)Manager server
管理SQl node和Data node状态。
|
|