您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > MYSQL集群 HA高可用【MySQL性能调优】
MYSQL集群+HA高可用【MySQL性能调优】MySQLCluster是用于解决高可用和高可靠性的解决方案。MySQLCluster具有故障恢复、节点修复、数据同步、非单点故障等优点。MySQLCluster是为提供99.999%以上的高可用性而设计的,采用分布式节点设计技术,不会因为单点故障而使整个Cluster瘫痪。MySQLCluster由3类节点组成:管理节点、数据节点、SQL节点。1:数据节点数据节点是整个系统中昀主要的节点,它负责存储所有的数据以及数据的同步复制,以防单个或者更多的节点故障而使MySQLCluster瘫痪。2:管理节点管理节点用于管理系统的配置信息,只在启动和重新配置MySQLCluster的时候才起作用。一般情况下只需要1个管理节点,当然也可以运行几个管理节点。3:SQL节点SQL节点用于数据节点存取数据,提供统一的标准SQL接口,跟平常的MySQLServe一样,让应用程序和开发人员不用关心系统内部究竟是如何运行的。os:centos5/rhel5mysqlversion:5.1.22rc准备:mysql-max-5.1.5-alpha-linux-i686-glibc23.tar环境:管理节点:IP:192.168.0.118主机名:mgm存?节点1/sql节点1:192.168.0.146主机名:node1存?节点2/sql节点2:192.168.0.221主机名:node2三台主机的hosts文件要一样192.168.0.118mgm192.168.0.146node1192.168.0.221node2这里只有用一台管理节点存?节点和SQL节点分别在在两台电脑上,也就是存?节点同时也当数据节点========================================================================安装:分别在三台电脑安装数据库shelltarxvfmysql-max-5.1.5-alpha-linux-i686-glibc23.tarshellgroupaddmysqlshelluseradd-gmysqlmysqlshellcd/usr/localshellmvmysql-max-5.1.5-alpha-linux-i686-glibc23mysqlshellcdmysqlshellchown-Rmysql.shellchgrp-Rmysql.shellscripts/mysql_install_db--user=mysqlshellchown-Rroot.shellchown-Rmysqldatashellbin/mysqld_safe--user=mysql&复制代码CP启动脚本到/etc/init.d目录shellcpsupport-files/mysql.server/etc/init.d/mysqld复制代码停止mysql数据库shell/etc/init.d/mysqldstop复制代码加入systemV服务shellchkconfig--addmysqld复制代码cpMYSQL配置文件到/etc/目录shellcpsupport-files/my-small.cnf/etc/my.cnf复制代码测试三台上面的数据库启动是否正常二:配置管理节点MGM:1,配置/etc/my.cnf文件在后面添加如下内容[ndb_mgm]connect-string=mgm[ndb_mgmd]config-file=/etc/config.ini##connect-string=mgm##ndb_mgm管理节点的计算机名##config-file=/etc/config.ini##ndb_mgmd的启动所要的配置文件复制代码2,ndb_mgmd的配置文件config.ini配置如下##DEFAULTSETTINGS##Defaultsettingsforalldatanodes[NDBDDEFAULT]NoOfReplicas=2DataMemory=644245094IndexMemory=322122547##COMPUTERDEFINITIONS##DatanodeComputer#1[COMPUTER]Id=1HostName=node1#DatanodeComputer#2[COMPUTER]Id=2HostName=node2#ManagementNodeComputer#1[COMPUTER]Id=3HostName=mgm##NODEDEFINITIONS##DataNodes#Nodegroup#1[NDBD]Id=1ExecuteOnComputer=1Id=2ExecuteOnComputer=2#Managementnode[NDB_MGMD]Id=3ExecuteOnComputer=3#AnonymousAPInodes##[MYSQLD][MYSQLD][MYSQLD]复制代码分另在两点节点配置:在/etc/my.cnf下面添加如下内容[MYSQLD]ndbclusterndb-connectstring=mgm#default_table_type=NDBCLUSTER[MYSQL_CLUSTER]ndb-connectstring=mgm#my.cnf[MYSQL_CLUSTER]ndb-connectstring=mgm#管理节点的主机名/////////mysqlcluster实战////////////////////////////////////////////////////////////////////////////////192.168.0.118是管理节点,192.168.0.146、192.168.0.221是数据节点和sql节点一体化复制代码启动管理节点/usr/local/mysql/bin/ndb_mgmd-f/etc/config.ini复制代码注意,必须用“-f”或“--config-file”选项,告诉ndb_mgmd到哪里找到配置文件(详情请参见17.5.3节,“ndb_mgmd,“管理服务器”进程”)。6.启动数据节点第一次启动/usr/local/mysql/bin/ndbd--initial复制代码注意,仅应在首次启动ndbd时,或在备份/恢复或配置变化后重启ndbd时使用“--initial”参数,这很重要。原因在于,该参数会使节点删除由早期ndbd实例创建的、用于恢复的任何文件,包括恢复用日志文件。非第一次启动:/usr/local/mysql/bin/ndbd7.启动sql节点servicemysqldstartstart8.调用ndb_mgm管理节点客户端,可对其进行测试#/usr/local/mysql/bin/ndb_mgmndb_mgmshowConnectedtoManagementServerat:mgm:1186ClusterConfiguration---------------------[ndbd(NDB)]2node(s)id=1@192.168.0.146(Version:5.1.5,Nodegroup:0)id=2@192.168.0.221(Version:5.1.5,Nodegroup:0,Master)[ndb_mgmd(MGM)]1node(s)id=3@192.168.0.118(Version:5.1.5)[mysqld(API)]3node(s)id=4@192.168.0.221(Version:5.1.5)id=5@192.168.0.146(Version:5.1.5)id=6(notconnected,acceptingconnectfromanyhost)复制代码查看网络连接情况234管理节点:[root@mgmlocal]#netstat-anp|grepmgmtcp000.0.0.0:11860.0.0.0:*LISTEN10059/ndb_mgmdtcp00192.168.0.118:47504192.168.0.118:1186ESTABLISHED10302/ndb_mgmtcp00192.168.0.118:47503192.168.0.118:1186ESTABLISHED10302/ndb_mgmtcp00192.168.0.118:47502192.168.0.118:1186ESTABLISHED10302/ndb_mgmtcp00127.0.0.1:34878127.0.0.1:1186ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.221:2689ESTABLISHED10059/ndb_mgmdtcp00127.0.0.1:1186127.0.0.1:34878ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.146:57511ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.118:47502ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.118:47503ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.118:47504ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.221:2356ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.221:2355ESTABLISHED10059/ndb_mgmdtcp00192.168.0.118:1186192.168.0.146:34588ESTABLISHED10059/ndb_mgmd复制代码数据和SQL节点:[root@node1data]#netstat-anp|grep192.168.0.146tcp00192.168.0.221:1284192.168.0.146:51311ESTABLISHED3053/mysqldtcp00192.168.0.221:4182192.168.0.146:42435ESTABLISHED2714/ndbdtcp00192.168.0.221:1545192.168.0.146:55286ESTABLISHED2714/ndbdtcp00192.168.0.221:2356192.168.0.118:1186ESTABLISHED2714/ndbdtcp00192.168.0.221:2355192.168.0.118:1186ESTABLISHED2714/ndbdtcp00192.168.0.221:1284192.168.0.146:51311ESTABLISHED3053/mysqld10.测试严重注意:所有建表语句的TYPE=MyISAM必须替换为ENGINE=NDBCLUSTER,mysql文档说明如下:对于将成为簇数据库组成部份的每个表,均需要为其定义执行上述操作。完成该任务的昀简单方法是,简单地在world.sql文件上执行“查找-替换”,并用ENGINE=NDBCLUSTER替换所有的TYPE=MyISAM实例。每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB簇存储引擎将自动生成隐含的主键10.1建库同步测试146节点mysqlshowdatabases;+--------------------+|Database|+--------------------+|information_schema||mysql||ndb_2_fs||test|+------
本文标题:MYSQL集群 HA高可用【MySQL性能调优】
链接地址:https://www.777doc.com/doc-4963377 .html