正文内容加载中...
posted @ 2015-09-18 20:14 Geek_Ma 阅读 (3947) 评论 (0) 编辑
摘要:MapReduce:大型集群上的简单数据处理摘要MapReduce是一个设计模型,也是一个处理和产生海量数据的一个相关实现。用户指定一个用于处理一个键值(key-value)对生成一组key/value对形式的中间结果的map函数,以及一个将中间结果键相同的键值对合并到一起的reduce函数。许多现实世界的任务都能满足这个模型,如这篇文章所示。使用这个功能形式实现的程序能够在大量的普通机器上并行执行。这个运行程序的系统关心下面的这些细节:输入数据的分区、一组机器上调度程序执行、处理机器失败问题,以及管理所需的机器内部的通信。这使没有任何并行处理和分布式系统经验的程序员能够利用这个大型分布式系统 阅读全文
posted @ 2013-06-17 10:39 Geek_Ma 阅读 (1651) 评论 (0) 编辑
摘要:摘要我们设计并实现了Google文件系统,它是一个可扩展的分布式分局系统,用于大型分布式数据密集型应用。它运行在便宜的普通硬件上,提供了容错处理;并为大量的客户端提供了高性能。在与之前的分布式文件系统提供相同功能的同时,我们的设计是由对我们应用的工作和技术环境的观察驱动的,无论当前还是未来,都与之前的文件系统有明显的区别。这使我们重新测试了传统的文件系统,并探索出完全不同的设计。这个文件系统完全符合我们的存储需求。作为一个存储平台在Google中得到大范围部署,用于存储服务产生和处理的数据,如搜索和需要大数据集的研发工作。目前为止最大的集群拥有几百TB的数据,存储在超过一千台机器的数千个磁盘上 阅读全文
posted @ 2013-06-09 11:44 Geek_Ma 阅读 (2617) 评论 (0) 编辑
摘要:Bigtable研究摘要Bigtable是一个用于管理结构型数据的分布式存储系统,被设计为可扩展到很大规模:通过数以千台的机器存储PB级数据。很多Google的工程都将数据存储在Bigtable中,包括网页索引、Google Earth和Google金融。这些应用在数据量和延迟方面对Bigtable的需求很不相同。尽管这些不尽相同的需求,Bigtable能够成功的为这些Google的产品提供一个弹性的、高性能的解决方案。在这篇文章中,我们描述Bigtable提供的简单的数据模型,它能给客户端在数据布局和格式上提供动态控制,而且我们会描述Bigtable的设计和实现。一、 介绍经过过去两年半的时 阅读全文
posted @ 2013-05-30 15:57 Geek_Ma 阅读 (1854) 评论 (0) 编辑
摘要:Mongodb的分片+replicaset一、 mongodb的分片分片(shard)是集群中负责数据某一子集的一台或多台服务器。一个分片可由多台服务器组成。分片是指不同的服务器保存不同的数据,它们的数据总和就是整个数据集。为了在分片间均匀地分配数据,MongoDB会在不同分片间移动数据子集。它会根据片键(key)来决定移动哪些数据。1. 分片数据1.1 一分片一区间分片最简单的方式就是每个分片负责存储一个区间段的数据,如用户名由4个分片进行存储,由用户名作为分片的依据那么将是如下情况:图:对用户名数据的分片存储这种方式有一个问题,在数据迁移时,可能会造成级联效应,即如果要将第一分片中的数据均 阅读全文
posted @ 2013-05-16 11:52 Geek_Ma 阅读 (2305) 评论 (1) 编辑
摘要:MongoDB的分片一、 分片簇综述分片是mongoDB扩展的一种方式。分片分割一个collection并将不同的部分存储在不同的机器上。当一个数据库的collections相对于当前空间过大时,你需要增加一个新的机器。分片会自动的将collection数据分发到新的服务器上。分片自动的均衡数据并在机器间进行负载。分片通过将写操作分发到一定数量的mongod实例上来提供额外的写能力。分片允许用户在工作集中增加潜在数量的数据。 1. 分片分片发生在分片簇中。一个分片簇由一下组件组成:shards:一个分片是一个保存一个collection子集数据的容器。每个分片可以是一个单独的mongod,也. 阅读全文
posted @ 2013-05-14 23:42 Geek_Ma 阅读 (1879) 评论 (7) 编辑
摘要:MongoDB Replication一、副本集基本概念副本集(replica set)MongoDB的replica set是一个mongod进程实例簇,数据在这个簇中相互复制,并自动进行故障切换。MongoDB的数据库复制增加了冗余,确保了高可用性,简化了管理任务如备份,并且增加了读能力。大多数产品部署都使用了复制。MongoDB中primary处理写操作,其它进行复制的成员则是secondaries。一个副本集可以最多支持12个成员,但是只有7个成员可以参与投票。注:MongoDB同时提供了传统的master/slave复制,这种复制的操作方法与副本集相同,但是master/slave复 阅读全文
posted @ 2013-05-09 14:53 Geek_Ma 阅读 (1887) 评论 (0) 编辑
摘要:搭建目标如下: 图:系统架构图这个系统可以提供web服务及其它查询应用服务,我用其做一个二手房信息搜集、处理及分发的系统,可以通过浏览器访问,也可以通过定制的客户端进行访问。一、安装篇1、下载安装python# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz## tar xvfz Python-2.7.3.tgz# cd Python-2.7.3#./configure# make# sudo make install下面是一些python安装工具,可以方便的安装所缺模块python的包管理setupt... 阅读全文
posted @ 2013-02-22 11:15 Geek_Ma 阅读 (2838) 评论 (1) 编辑
摘要:python类的成员和装饰器Python类的成员Python和c++一样,可以定义类,可以继承,类中又包含了类变量、实例变量(私有变量和公有变量)、方法(包括静态方法staticmethod、类方法classmethod和实例方法instancemethod)。这里只着重介绍类的成员。通过语言描述会比较费事,下面通过例子来说明# coding: utf-8class MyClass: '''I simple example class''' val1 = 'Value 1' #类变量 val4 = 1 def __init__(s 阅读全文
posted @ 2013-02-18 14:31 Geek_Ma 阅读 (2051) 评论 (0) 编辑
摘要:nginx事件处理流程1. 进程初始化nginx启动流程中已经对进程启动进行了简单介绍,现在对每种进程的初始化进行下介绍。(1) 总进程的初始化(这里还没有启动worker进程,所以称为总进程):作为整个进程的入口,很多公用的初始化都是在一开始完成的,先对debug(ngx_debug_init)和错误码进行初始化(ngx_strerror_init),然后解析nginx的启动命令参数,并根据参数进行进一步处理;时间相关参数初始化ngx_time_init(),如果支持正则表达式,则初始化regex相关参数ngx_regex_init,紧接着是日志相关参数(日志文件描述符等)初始化ngx_lo 阅读全文
posted @ 2013-01-11 18:17 Geek_Ma 阅读 (1501) 评论 (0) 编辑