mysql集群整理版.docx

上传人:b****7 文档编号:23969082 上传时间:2023-05-23 格式:DOCX 页数:21 大小:117.30KB
下载 相关 举报
mysql集群整理版.docx_第1页
第1页 / 共21页
mysql集群整理版.docx_第2页
第2页 / 共21页
mysql集群整理版.docx_第3页
第3页 / 共21页
mysql集群整理版.docx_第4页
第4页 / 共21页
mysql集群整理版.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

mysql集群整理版.docx

《mysql集群整理版.docx》由会员分享,可在线阅读,更多相关《mysql集群整理版.docx(21页珍藏版)》请在冰豆网上搜索。

mysql集群整理版.docx

mysql集群整理版

mysql集群整理版

mysql集群架构主要分为:

数据节点(ndbd),管理节点(mgmd),服务节点(mysqld)

附件是mysql集群整体架构图

1.下载:

可以从这里下载mysql-5.0.45-linux-i686.tar.gz

此包里已经包含了mysql-max包(mysql集群需要安装mysql-max包)。

2.解压:

tar-zxvfapache-tomcat-5.5.25.tar.gz

下载的这个.tar.gz是编译后的文件,只需要解压即可。

3.配置

比如解压后的文件都放在:

/home/mahaibo/mysql-5.0.45-linux-i686目录下。

数据节点(ndbd),管理节点(mgmd),服务节点(mysqld)三个启动顺序是

mgmd--->ndbd--->mysqld

可以在同一台电脑上做个简单的配置和测试。

以在同一台电脑上不同端口为例。

实际中肯定是需要分布在不同的服务器上的。

A:

配置mgmd,并启动

在/home/mahaibo/mysql-5.0.45-linux-i686建立一个f和mgmd的数据目录mgmddata,编辑f文件:

#Optionsaffectingndbdprocessesonalldatanodes:

[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=127.0.0.1#HostnameorIPaddressofMGMnode,mgmd'shostname

datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata#DirectoryforMGMnodelogfiles

PortNumber=2203#defaultvalue:

1186

#Optionsfordatanode"A":

[NDBD]

#(one[NDBD]sectionperdatanode)

hostname=127.0.0.1#HostnameorIPaddress,allowtoaccess

datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata#Directoryforthisdatanode'sdatafiles

#Optionsfordatanode"B":

[NDBD]

hostname=127.0.0.1#HostnameorIPaddress

datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata#Directoryforthisdatanode'sdatafiles

[MYSQLD]

hostname=127.0.0.1#HostnameorIPaddress

#(additionalmysqldconnectionscanbe

#specifiedforthisnodeforvarious

#purposessuchasrunningndb_restore)

可以看到配置了2个数据节点ndbd,也就是说改管理节点可以管理小于或等于2个数据节点。

管理节点mgmd的端口为2203。

启动mgmd服务:

bin/ndb_mgmd-ff

启动后,登录mgmd的客户端mgm可以查看具体信息:

bin/ndb_mgm 127.0.0.1 2203 //因为mgmd服务用的端口是2203,所以要通过该端口链接  

[mahaibo@clientmysql-5.0.45-linux-i686]$bin/ndb_mgm127.0.0.12203

--NDBCluster--ManagementClient--

ndb_mgm>show

ConnectedtoManagementServerat:

127.0.0.1:

2203

ClusterConfiguration

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

[ndbd(NDB)]2node(s)

id=2(notconnected,acceptingconnectfrom127.0.0.1)

id=3(notconnected,acceptingconnectfrom127.0.0.1)

[ndb_mgmd(MGM)]1node(s)

id=1@127.0.0.1(Version:

5.0.45)

[mysqld(API)]1node(s)

id=4(notconnected,acceptingconnectfrom127.0.0.1)

ndb_mgm>

可以看到ndbd和mysqld都是notconnected状态,因为这2个服务都还没有启动。

B:

启动数据节点(ndbd)

以启动2个数据节点为例。

分别建立f,ndbd1data数据目录

编辑f:

[mysqld]

DataDir=/home/mahaibo/mysql-5.0.45-linux-i686/ndbd1data//数据目录

skip-locking

key_buffer=16M

max_allowed_packet=1M

table_cache=64

sort_buffer_size=512K

net_buffer_length=8K

read_buffer_size=256K

read_rnd_buffer_size=512K

myisam_sort_buffer_size=8M

ndbcluster

ndb-connectstring=127.0.0.1:

2203

[mysql_cluster]

ndb-connectstring=127.0.0.1:

2203//连接mgmd服务的ip与端口

启动第一个ndbd数据节点:

bin/ndbd --defaults-file=f –initial

第一次启动需要加--initial参数。

第2个数据节点(ndbd)也需要做同样的配置和启动操作。

分别建立f,ndbd2data数据目录

f的配置和f的配置几乎是一样的,只是数据目录不一样。

启动第2个数据节点ndbd:

bin/ndbd--defaults-file=f--initial

这时,如果登录到mgmd管理节点的客户端mgm,

[mahaibo@clientmysql-5.0.45-linux-i686]$bin/ndb_mgm127.0.0.12203

--NDBCluster--ManagementClient--

ndb_mgm>show

ConnectedtoManagementServerat:

127.0.0.1:

2203

ClusterConfiguration

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

[ndbd(NDB)]2node(s)

id=2@127.0.0.1(Version:

5.0.45,Nodegroup:

0,Master)

id=3@127.0.0.1(Version:

5.0.45,Nodegroup:

1)

[ndb_mgmd(MGM)]1node(s)

id=1@127.0.0.1(Version:

5.0.45)

[mysqld(API)]1node(s)

id=4(notconnected,acceptingconnectfrom127.0.0.1)

ndb_mgm>

可以看到ndbd的2个节点都是连接状态了,而不是notconnected状态了,但是mysqld还是notconnected状态。

C:

启动mysqld服务。

打开mysql-5.0.45-linux-i686下的configure文件,可以看到其内容为:

#!

/bin/sh

iftest!

-x./scripts/mysql_install_db

then

echo"Ididn'tfindthescript'./scripts/mysql_install_db'."

echo"Pleaseexecutethisscriptinthemysqldistributiondirectory!

"

exit1;

fi

echo"NOTE:

ThisisaMySQLbinarydistribution.It'sreadytorun,youdon't"

echo"needtoconfigureit!

"

echo""

echo"Tohelpyouabit,IamnowgoingtocreatetheneededMySQLdatabases"

echo"andstarttheMySQLserverforyou.Ifyourunintoanytrouble,please"

echo"consulttheMySQLmanual,thatyoucanfindintheDocsdirectory."

echo""

./scripts/mysql_install_db--no-defaults

if[$?

=0]

then

echo"Startingthemysqldserver.Youcantestthatitisupandrunning"

echo"withthecommand:

"

echo"./bin/mysqladminversion"

./bin/mysqld_safe--no-defaults&#默认会去根据/etc/f这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock

fi

可以看到:

它实际是上先执行./scripts/mysql_install_db,然后在去通过./bin/mysqld_safe去启动mysql服务的,用的参数是--no-defaults,也就是默认会去根据/etc/f这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock.

如果想让mysql启动时调用自己指定的f的位置。

可以把configure文件内容里的./bin/mysqld_safe--no-defaults&修改为:

./bin/mysqld_safe --defaults-file=f & #当前目录下的f,也可以自己指定绝对路径

建立f和数据目录data3

编辑f:

[mysqld]

port=3306

socket=/home/mahaibo/mysql-5.0.45-linux-i686/mysql3.sock

datadir=/home/mahaibo/mysql-5.0.45-linux-i686/data3

ndbcluster#runNDBengine

ndb-connectstring=127.0.0.1:

2203#locationofMGMnode

skip-locking

key_buffer=16M

max_allowed_packet=1M

table_cache=64

sort_buffer_size=512K

net_buffer_length=8K

read_buffer_size=256K

read_rnd_buffer_size=512K

myisam_sort_buffer_size=8M

启动mysqld服务:

./configure3

如果这时在登录到mgmd管理节点的客户端mgm,

[mahaibo@clientmysql-5.0.45-linux-i686]$bin/ndb_mgm127.0.0.12203

--NDBCluster--ManagementClient--

ndb_mgm>show

ConnectedtoManagementServerat:

127.0.0.1:

2203

ClusterConfiguration

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

[ndbd(NDB)]2node(s)

id=2@127.0.0.1(Version:

5.0.45,Nodegroup:

0,Master)

id=3@127.0.0.1(Version:

5.0.45,Nodegroup:

1)

[ndb_mgmd(MGM)]1node(s)

id=1@127.0.0.1(Version:

5.0.45)

[mysqld(API)]1node(s)

id=4@127.0.0.1(Version:

5.0.45)

可以看到mysqld也是连接状态了

登录到mysqld的客户端,然后

show variables like 'have%';

可以看到

have_ndbcluster为YES,说明ndbcluster引擎已经打开。

可以建立一个ndbcluster引擎的表测试下看是否成功

createtabletable1(aaint)engine=ndbcluster;

insertintotable1values(11);

insertintotable1values(22);

都没有问题。

showcreatetabletable1;

可以看到:

mysql>showcreatetabletable1;

+--------+------------------------------------------------------------------------------------------------+

|Table|CreateTable|

+--------+------------------------------------------------------------------------------------------------+

|table1|CREATETABLE`table1`(

`aa`int(11)defaultNULL

)ENGINE=ndbclusterDEFAULTCHARSET=latin1|

+--------+------------------------------------------------------------------------------------------------+

1rowinset(0.00sec)

以上只是记录的配置流水账过程,也许有些说的不对的地方,请多指点。

具体项目应用还需要具体参考mysql文档进行配置

mysqlcluster双机集群部署(转)

本帖转自转载请注明出处

mysqlcluster双机集群部署

一、介绍

如何安装配置基于2台服务器的MySQL集群。

并且实现任意一台服务器出现问题或宕机时MySql集群依然能够继续运行。

加下后续的(keepalived+lvs+mysqlcluster文档),可以实现Mysql双机的高可用及负载均衡。

安装环境及软件包:

vmwareworkstation5.5.3

mysql-5.2.3-falcon-alpha.tar.gz

gentoo2006.1

Server1:

192.168.1.111

Server2:

192.168.1.110

二、在Server1和Server2上安装MySQL

以下步骤需要在Server1和Server2上各做一次

#mvmysql-5.2.3-falcon-alpha.tar.gz/tmp/package

#cd/tmp/package

#groupaddmysql

#useradd-gmysqlmysql

#tar-zxvfmysql-5.2.3-falcon-alpha.tar.gz

#rm-fmysql-5.2.3-falcon-alpha.tar.gz

#mvmysql-5.2.3-falcon-alphamysql

#cdmysql

#./configure--prefix=/usr--with-extra-charsets=complex--with-plugin-ndbcluster--with-plugin-partition--with-plugin-innobase

#make&makeinstall

#ln-s/usr/libexec/ndbd/usr/bin

#ln-s/usr/libexec/ndb_mgmd/usr/bin

#ln-s/usr/libexec/ndb_cpcd/usr/bin

#ln-s/usr/libexec/mysqld/usr/bin

#ln-s/usr/libexec/mysqlmanager/usr/bin

#mysql_install_db--user=mysql

三、安装并配置节点

以下步骤需要在Server1和Server2上各做一次

1.配置管理节点配置文件:

#mkdir/var/lib/mysql-cluster

#cd/var/lib/mysql-cluster

#viconfig.ini

在config.ini中添加如下内容:

[ndbddefault]

NoOfReplicas=2

MaxNoOfConcurrentOperations=10000

DataMemory=80M

IndexMemory=24M

TimeBetweenWatchDogCheck=30000

DataDir=/var/lib/mysql-cluster

MaxNoOfOrderedIndexes=512

StartPartialTimeout=100

HeartbeatIntervalDbDb=5000

[ndb_mgmddefault]

DataDir=/var/lib/mysql-cluster

[ndb_mgmd]

Id=1

HostName=192.168.1.111

[ndb_mgmd]

Id=2

HostName=192.168.1.110

[ndbd]

Id=3

HostName=192.168.1.111

[ndbd]

Id=4

HostName=192.168.1.110

Arbitrati=1

Arbitrati(非常重要,全靠有它,才可以形成仲裁竞争,从而当另一个机子当了时,此机还可以有知道partion完整的节点)

[tcpdefault]

PortNumber=63132

2.配置通用f文件

mysqld及ndbd,ndb_mgmd均使用此文件.

#vi/etc/f

在f中添加如下内容:

default-storage-engine=ndbcluster避免在sql语句中还要加入ENGINE=NDBCLUSTER。

ndbcluster

ndb-c.168.1.111,192.168.1.110

[ndbd]

connect-string=192.168.1.111,192.168.1.110

[ndb_mgm]

connect-string=192.168.1.111,192.168.1.110

[ndb_mgmd]

config-file=/var/lib/mysql-cluster/config.ini

ndb-connectstring=192.168.1.111,192.168.1.110

保存退出后,启动管理节点Server1为:

#ndb_mgmd--ndb_nodeid=1

启动管理节点Server2为:

#ndb_mgmd--ndb_nodeid=2

注:

在启动时有一个警告提示

Clusterconfigurationwarning:

arbitratorwithid1anddbnodewithid3onsamehost192.168.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1