Below you will find pages that utilize the taxonomy term “集群”
November 29, 2011
memcached 集群单点故障解决方案
"magent是一款开源的Memcached代理服务器软件,其项目网址为: http://code.google.com/p/memagent/\n一、安装步骤: 1、编译安装libevent:\nwget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz tar zxvf libevent-1.4.9-stable.tar.gz cd libevent-1.4.9-stable/ ./configure --prefix=/usr make \u0026amp;\u0026amp; make install cd ../ 2、编译安装Memcached:\nwget http://danga.com/memcached/dist/memcached-1.2.6.tar.gz tar zxvf memcached-1.2.6.tar.gz cd memcached-1.2.6/ ./configure --with-libevent=/usr make \u0026amp;\u0026amp; make install cd ../ 3、编译安装magent:\nmkdir …"
July 21, 2010
mysql从服务器出现的错误:Slave_SQL_Running: No(主-从)
"mysql服务器为主-从配置时,发现从MySQL Slave未和主机同步,查看Slave状态:\nmysql\u0026gt; show slave statusG Slave_IO_Running: Yes Slave_SQL_Running: No Last_Errno: 1062 …. Seconds_Behind_Master:NULL\n原因: 1.程序可能在slave上进行了写操作 2.也可能是slave机器重起后,事务回滚造成的.\n解决办法I: 1.首先停掉Slave服务:slave stop 到主服务器上查看主机状态: 记录File和Position对应的值。 3.到slave服务器上执行手动同步:\nmysql\u0026gt; show master status; +——————+———–+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———–+————–+——————+ | mysql-bin.000020 | 135617781 | | | …"
July 7, 2010
高并发高流量网站架构
"Web2.0的兴起,掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也 极大的方便了上网的人们。但Web2.0以用户为导向的理念,使得新生的网站有了新的特点——高并发,高流量,数据量大,逻辑复杂等,对网站建设也提出了 新的要求。\n本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容:\n首先在整个网络的高度讨论了使用镜像网站,CDN内容分发网络等技术对负载均衡带来的便利及各自的优缺点比较。然后在局域网层次对第四层交换技术,包括硬 件解决方案F5和软件解决方案LVS,进行了简单的讨论。接下来在单服务器层次,本文着重讨论了单台服务器的Socket优化,硬盘级缓存技术,内存级缓 存技术,CPU与IO平衡技术(即以运算为主的程序与以数据读写为主的程序搭配部署),读写分离技术等。在应用层,本文介绍了一些大型网站常用的技术,以 及选择使用该技术的理由。最后,在架构的高度讨论了网站扩容,容错等问题。\n本文以理论与实践相结合的形式,结合作者实际工作中得到的经验,具有较广泛的适用性。\n1 引言\n1.1 互联网的发展 最近十 …"
June 27, 2010
图解”How MySQL Replication Works”
"replication by orczhou, on Flickr\n在使用MySQL的应用中,如果你的MySQL Server压力逐渐增大,在应用层优化已经到了一定瓶颈时,那么你应该首先考虑 MySQL Replication。本文将利用图示的方式简单的描述出MySQL Replication是如何工作的。\n如何同步\n主库将所有的更新操作,写入二进制日志。\n从库运行”IO线程”(Slave IO Thread)读取主库的二进制日志。\n从库运行”SQL线程”(Slave SQL Thread)执行IO线程(Slave IO Thread)读取的日志中的SQL,从而保持和主库的一致。\n如何分配请求\n目前,这部分需要在应用层实现。\n执行更新SQL(UPDATE,INSERT,DELETE)时,请求主库。\n执行查询SQL(SELECT)时,请求从库。\n所以,当你的应用(Application)SELECT请求所占的比率越大,那么Relication就会越有效。"
June 25, 2010
MySQL 集群在Server1与Server2上如何安装MySQL
"我们今天主要向大家介绍的是MySQL 集群,其中包括对MySQL 集群的概念介绍,以及如何在Server1与Server2上正确对MySQL进行安装 ,还有对安装与配置管理节点服务器(Server3)的正确操作 ,配置集群服务器并启动MySQL 。\n一、介绍\n这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群。并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行。\n注意!\n虽然这是基于2台服务器的MySQL集群,但也必须有额外的第三台服务器作为管理节点,但这台服务器可以在集群启动完成后关闭。同时需要注意的是并 不推荐在集群启动完成后关闭作为管理节点的服务器。尽管理论上可以建立基于只有2台服务器的MySQL集群,但是这样的架构,一旦一台服务器宕机之后集群 就无法继续正常工作了,这样也就失去了集群的意义了。出于这个原因,就需要有第三台服务器作为管理节点运行。\n另外,可能很多朋友都没有3台服务器的实际环境,可以考虑在VMWare或其他虚拟机中进行实验。\n下面假设这3台服务的情况:\nServer1: MySQL1.vmtest.net 192.168.0.1 …"
June 25, 2010
Mysql 集群简介和配置
"1. 先了解一下你是否应该用 mysql 集群。\n减少数据中心结点压力和大数据量处理,采用把 mysql 分布,一个或多个 application 对应一个 mysql 数据库。把几个 mysql 数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面。 其他不共享的数据还维持在各自分布的 mysql 数据库本身中。\n2. 集群 Mysql 中名称概念 .( 如上图 )\n1 ) Sql 结点( SQL node– 上图对应为 mysqld ) : 分布式数据库。包括自身数据和查询中心结点数据 .\n2 )数据结点 (Data node — ndbd): 集群共享数据 ( 内存中 ).\n3 )管理服务器 (Management Server – ndb_mgmd): 集群管理 SQL node,Data node.\n3 .配置\nmysql-max 版本,当然现在 mysql 集群系统 windonws 平台上面不被支持 .\n安装 mysql 就不多说了,网上一打堆,简明扼要。\nA:192.168.1.251 – Data node 和 Management Server."
June 25, 2010
MySQL Cluster集群配置方案
"在为某证券公司设计其OA架构时,初期客户是30万用户在线;然而在项目实施中,客户又提出50万用户同时在线的需求,而且都有写的需求;这样初始的设计 master-master-slave,读写分离满足不了客户的要求,所以我们打算采用Mysql Cluster方案;MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个Cluster中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。\n一、MySQL Cluster概述\nMySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。\nMySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。\n所有的这些节点 …"
April 21, 2010
mysql集群强制从主服务器阻塞更新直到从服务器同步?
"Q:我怎样强制主服务器阻塞更新直到从服务器同步?\nA:使用下面的步骤:\n1.在主服务器上,执行这些语句:\nmysql\u0026gt; FLUSH TABLES WITH READ LOCK; mysql\u0026gt; SHOW MASTER STATUS; 记录SHOW语句的输出的日志名和偏移量。这些是复制坐标。2.在从服务器上,发出下面的语句,其中Master_POS_WAIT()函 数的参量是前面步骤中的得到的复制坐标值:\nmysql\u0026gt; SELECT MASTER_POS_WAIT(\u0026#39;log_name\u0026#39;, log_offset); SELECT语句阻塞直到从服务器达到指定的日志文件和偏移量。此时,从服务器与主服务器同步,语句返回。\n3.在主服务器上,发出下面的语句允许主服务器重新开始处理更新:\nmysql\u0026gt; UNLOCK TABLES; 来源:http://dev.mysql.com/doc/refman/5.1/zh/replication.html#replication-faq "
April 21, 2010
mysql集群从服务器复制传递和状态文件(master.info和relay_log.info)
"6.3.4. 复制传递和状态文件 默认情况,中继日志使用_host_name-relay-bin.nnnnnn_形 式的文件名,其中_host_name_是从服务器主机名,nnnnnn_是 序列号。用连续序列号来创建连续中继日志文件,从000001开始。从服务器跟踪索引文件中目前正 使用的中继日志。 默认中继日志索引文件名为_host_name-relay-bin.index。 默认情况,在从服务器的数据目录中创建这些文件。可以用–relay-log和–relay-log-index服 务器选项覆盖 默认文件名。参见6.8节,“复制启动选项”。\n中继日志与二进制日志的格式相同,并且可以用mysqlbinlog读取。SQL线 程执行完中继日志中的所有事件并且不再需要之后,立即自动删除它。没有直接的删除中继日志的机制,因为SQL线程可以负责完 成。然而,FLUSH LOGS可以循环中继日志,当SQL线程删除日志时会有影响。\n在下面的条件下创建新的中继日志:\n·每次I/O线程启动时创建一个新的中继日志。\n·当日志被刷新时;例如,用FLUSH LOGS或mysqladmin …"
November 2, 2009
(精典教程)在MySql上实现Replication(Master 与 Slave 数据同步)
"Master: 192.168.1.200 slave: 192.168.1.201\n1: 首先确定Master和Slave的数据库版本,Master数据库的版本不能高于Slave数据的版本。\n这里我是使用MySql 5.0.27 作为Master数据库,MySql 6.0.3(alpha)作为Slave进行测试。\n2:首先在Master数据库的配置文件my.ini (windows)里添加log-bin 和 server-id 两项\neg: [mysqld]\nserver-id = 1 //服务器编号\nlog-bin = mysql-bin //使用的二进制日志文件名 binlog-do-db=test = maindb //同步的数据库(不记录二进制日志) binlog-ignore-db=bbs //不允许同步的数据库(不记录二进制日志) binlog-ignore-db=ceshi //不允许同步的数据库库(不记录二进制日志)\n在Slave数据库的配置文件my.ini里添加server-id 项\neg:[mysqld]\nserver-id = 2 ** …"