欢迎来到天天文库
浏览记录
ID:22376700
大小:64.00 KB
页数:8页
时间:2018-10-28
《mysql cluster(mysql 集群) 初试--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MySQLCluster(MySQL集群)初试>> MySQLCluster是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDBCluster存储引擎,允许在1个Cluster中运行多个MySQL服务器。在MyQL5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。(注意,要想获得MySQLCluster的功能,必须安装mysql-server和mysql-maxRPM)。 目前能够运行MySQLCluster的操作系统有Linux、MacOSX和Solaris(一些用户通报成功地在FreeBSD上运行了MySQLCluster,但My
2、SQLAB公司尚未正式支持该特性)。 一、MySQLCluster概述 MySQLCluster是一种技术,该技术允许在无共享的系统中部署内存中数据库的Cluster。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。 MySQLCluster由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDBCluster的数据节点,管理服务器,以及(可能)专门的数据访问程序。关于Cluster中这些组件的关系,请参见下图: 所有的这些节点构成一个完成的MySQL集群体系。数据保存在NDB存储服务
3、器的存储引擎中,表(结构)则保存在MySQL服务器中。应用程序通过MySQL服务器访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理NDB存储服务器。 通过将MySQLCluster引入开放源码世界,MySQL为所有需要它的人员提供了具有高可用性、高性能和可缩放性的Cluster数据管理。 二、MySQLCluster基本概念 NDB是一种内存中的存储引擎,它具有可用性高和数据一致性好的特点。 MySQLCluster能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在Cluster级别上的存储引擎上做这个最简单。MySQLCluster的NDB存储引擎包含
4、完整的数据集,仅取决于Cluster本身内的其他数据。 目前,MySQLCluster的Cluster部分可独立于MySQL服务器进行配置。在MySQLCluster中,Cluster的每个部分被视为1个节点。管理(MGM)节点:这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令ndb_mgmd启动的。数据节点:这类节点用于保存Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个
5、数据节点。不过没有必要设置多个副本。数据节点是用命令ndbd启动的。SQL节点:这是用来访问Cluster数据的节点。对于MySQLCluster,客户端节点是使用NDBCluster存储引擎的传统MySQL服务器。通常,SQL节点是使用命令mysqld–ndbcluster启动的,或将ndbcluster添加到my.f后使用mysqld启动。 > 四、开始安装 1、假定条件 在每个节点计算机上都采用nobody用户来运行Cluster,因此执行如下命令添加相关用户(如果已经存在则略过,且用root用户执行): root#/usr/sbin/groupaddnobod
6、y root#/usr/sbin/useraddnobody-gnobody 假设已经下载了mysql可直接使用的二进制安装包,且放在/tmp下了。 2、SQL节点和存储节点(NDB节点)安装(即4个机器重复执行以下步骤) root#cd/tmp/ root#tarzxfmysql-max-5.0.24-linux-i686.tar.gz root#mvmysql-max-5.0.24-linux-i686/usr/local/mysql/ root#cd/usr/local/mysql/ root#./configure--prefix=/usr/local/mysql
7、 root#./scripts/mysql_install_db root#choysql/ 3、配置SQL节点 root#vi/usr/local/mysql/my.f 然后输入如下内容:[mysqld]basedir =/usr/local/mysql/datadir =/usr/local/mysql/datauser =nobodyport =3306socket
此文档下载收益归作者所有