大数据
文章平均质量分 76
caomiao2006
这个作者很懒,什么都没留下…
展开
-
RabbitMQ消息队列:ACK机制
每个Consumer可能需要一段时间才能处理完收到的数据。如果在这个过程中,Consumer出错了,异常退出了,而数据还没有处理完成,那么 非常不幸,这段数据就丢失了。因为我们采用no-ack的方式进行确认,也就是说,每次Consumer接到数据后,而不管是否处理完 成,RabbitMQ Server会立即把这个Message标记为完成,然后从queue中删除了。 如果一个Cons转载 2015-06-08 20:12:15 · 22417 阅读 · 0 评论 -
Hbase原理、基本概念、基本架构
概述HBase是一个构建在HDFS上的分布式列存储系统;HBase是基于Google BigTable模型开发的,典型的key/value系统;HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;从逻辑上讲,HBase将数据按照表、行和列进行存储。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服转载 2015-03-25 14:03:09 · 680 阅读 · 0 评论 -
hbase shell基础和常用命令详解(转)
HBase shell的基本用法hbase提供了一个shell的终端给用户交互。使用命令hbase shell进入命令界面。通过执行 help可以看到命令的帮助信息。以网上的一个学生成绩表的例子来演示hbase的用法。namegradcoursemathartTom59787转载 2015-03-25 14:51:27 · 502 阅读 · 0 评论 -
通过Java Api与HBase交互(转)
HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要,本文将继续前两篇文章中blog表的示例,介绍常用的Api。import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseCo转载 2015-03-25 14:53:02 · 454 阅读 · 0 评论 -
Zookeeper基本原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee转载 2015-06-02 23:29:31 · 591 阅读 · 0 评论 -
ZooKeeper数据模型
高可用的高性能的分布式系统协调服务。局部不可用是分布式系统的固有特征,ZooKeeper可以很好的地处理这种情况。下面从三个方面来理解ZooKeeper服务:数据模型、操作、实现数据模型可以把zookper看成一个文件系统,文件系统中的所有文件形成一个数状结构,zookeeper维护着这样的树形层次结构,树中的节点称为znode。每个znode有一个与之相关联的ACL(Ac转载 2015-06-02 23:50:17 · 956 阅读 · 0 评论 -
Zookeeper Api(java)入门与应用(转)
如何使用Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,后面将会详细介绍 Zookeeper 能够解决的一些典型问题,这里先介绍一下,转载 2015-06-03 00:34:56 · 487 阅读 · 0 评论 -
谷歌技术"三宝"之MapReduce
江湖传说永流传:谷歌技术有"三宝",GFS、MapReduce和大表(BigTable)!谷歌在03到06年间连续发表了三篇很有影响力的文章,分别是03年SOSP的GFS,04年OSDI的MapReduce,和06年OSDI的BigTable。SOSP和OSDI都是操作系统领域的顶级会议,在计算机学会推荐会议里属于A类。SOSP在单数年举办,而OSDI在双数年举办。那么这篇博客就来转载 2015-06-03 00:44:41 · 676 阅读 · 0 评论 -
JobTracker和TaskTracker
JobTracker和TaskTrackerJobTracker 对应于 NameNodeTaskTracker 对应于 DataNodeDataNode 和NameNode 是针对数据存放来而言的JobTracker和TaskTracker是对于MapReduce执行而言的 mapreduce中几个主要概念,mapreduce整体上可以分为这转载 2015-06-07 19:21:43 · 553 阅读 · 0 评论 -
zookeeper简介
一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下: 场景一有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了。转载 2015-06-07 19:46:56 · 525 阅读 · 0 评论 -
ZooKeeper典型应用场景(转)
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性转载 2015-06-07 20:16:15 · 406 阅读 · 0 评论 -
NoSQL设计思想(从辅到主)
NoSQL架构实践(一)——以NoSQL为辅本文为凤凰网负责底层组的研发工作的孙立同学在InfoQ上发表的NoSQL系列文章之一,本文探讨了使用NoSQL作存储的几种典型模式,对NoSQL的实践及应用,具有很强的指导意义。前面《为什么要使用NoSQL》和《关系数据库还是NoSQL数据库》两篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL。经常有朋友遇到困惑,看到NoSQL的转载 2015-03-25 13:31:48 · 5542 阅读 · 0 评论 -
大数据性能调优之HBase的RowKey设计
文本推荐横屏阅读1 概述HBase是一个分布式的、面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式。既然HBase是采用KeyValue的列存储,那Rowkey就是KeyValue的Key了,表示唯一一行。Rowkey也是一段二进制码流,最大长度为64KB,内容可以由使用的用户自定义。数据加转载 2015-03-24 16:19:34 · 723 阅读 · 0 评论 -
RabbitMQ消息队列(一): Detailed Introduction 详细介绍
1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere M转载 2015-06-08 20:14:27 · 616 阅读 · 0 评论 -
RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)
RabbitMQ消息队列(三):任务分发机制 上篇文章中,我们把每个Message都是deliver到某个Consumer。在这篇文章中,我们将会将同一个Message deliver到多个Consumer中。这个模式也被成为 "publish / subscribe"。 这篇文章中,我们将创建一个日志系统,它包含两个部分:第一个部分是发出log(Produc转载 2015-06-08 20:14:29 · 515 阅读 · 0 评论 -
RabbitMQ消息队列(二):”Hello, World“
RabbitMQ消息队列(一): Detailed Introduction 详细介绍 本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据”Hello, World“。 首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列。它实现的功能”非常简单“:从Producer接收数据然后传递到Consumer。它转载 2015-06-08 20:14:49 · 597 阅读 · 0 评论 -
RabbitMQ消息队列(五):Routing 消息路由
上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。1. Bindings绑定 上篇文章中我们是这么做的绑定:[python] view plaincopychannel.queue_bind(exch转载 2015-06-08 20:14:53 · 608 阅读 · 0 评论 -
RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成。那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例。1. 客户端接口 Client interface 为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class。 它转载 2015-06-08 20:15:49 · 717 阅读 · 0 评论 -
RabbitMQ消息队列的小伙伴(八): ProtoBuf(Google Protocol Buffer)
什么是ProtoBuf? 一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。 它可以作为RabbitMQ的Message的数据格式进行传输,由于是结构化的数转载 2015-06-08 20:16:20 · 1193 阅读 · 0 评论 -
RabbitMQ消息队列(九):Publisher的消息确认机制
在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack。那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consumer处理呢?毕竟对于一些非常重要的数据,可能Publisher需要确认某个消息已经被正确处理。 在我们的系统中,我们没有是实现这种确认,也就是说,不管Message是否被Consum转载 2015-06-08 20:16:57 · 759 阅读 · 0 评论 -
RabbitMQ消息队列(九):Publisher的消息确认机制
在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack。那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consumer处理呢?毕竟对于一些非常重要的数据,可能Publisher需要确认某个消息已经被正确处理。 在我们的系统中,我们没有是实现这种确认,也就是说,不管Message是否被Consum转载 2015-06-08 20:19:07 · 1512 阅读 · 0 评论 -
spring整合消息队列rabbitmq
spring大家太熟,就不多说了rabbitmq一个amqp的队列服务实现,具体介绍请参考本文http://lynnkong.iteye.com/blog/1699684本文侧重介绍如何将rabbitmq整合到项目中ps:本文只是简单一个整合介绍,属于抛砖引玉,具体实现还需大家深入研究哈..1.首先是生产者配置?转载 2015-06-08 20:19:15 · 8631 阅读 · 1 评论 -
【架构】关于RabbitMQ
1 什么是RabbitMQ?RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然: 单向解耦 双向解耦(如:RPC) 例如一个日志系统,很容易使用RabbitM转载 2015-06-08 20:19:50 · 686 阅读 · 0 评论 -
Redis 起步
Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章:1.Redis简介 Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/p转载 2015-06-07 20:36:45 · 444 阅读 · 0 评论 -
Redis与Memcached的区别
转载地址:http://gnucto.blog.51cto.com/3391516/998509Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断转载 2015-06-07 21:02:06 · 482 阅读 · 0 评论 -
HBase Java API类介绍
几个相关类与HBase数据模型之间的对应关系java类HBase数据模型HBaseAdmin数据库(DataBase)HBaseConfigurationHTable表(Table)HTableDescriptor列族(Column Family)Put列转载 2015-03-25 14:51:49 · 494 阅读 · 0 评论 -
redis:hash数据类型与操作
Redis hash是一个string类型的field和value的映射表.一个key可对应多个field,一个field对应一个value。将一个对象存储为hash类型,较于每个字段都存储成string类型更能节省内存。新建一个hash对象时开始是用zipmap(又称为small hash)来存储的。这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不转载 2015-06-07 20:38:12 · 609 阅读 · 0 评论 -
Memcached 内存管理(一)
Memcached是一个高效的分布式内存cache,了解memcached的内存管理机制,便于我们理解memcached,让我们可以针对我们数据特点进行调优,让其更好的为我所用。这里简单谈一下我对memcached的内存管理的一些认识,在没有特别注明的情况下,这里谈到的memcached是1.2版本,1.1和1.2版本有一些差异。基本概念:Slab和chunk转载 2015-06-07 20:57:40 · 485 阅读 · 0 评论 -
【学习点滴-memcached】mecached内存管理与原理
本文是转载--请注明出处:http://wenku.baidu.com/view/8686d46c7e21af45b307a8c3.html什么是Memcached许多Web应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcache转载 2015-06-07 20:58:20 · 697 阅读 · 0 评论 -
[Drools]JAVA规则引擎 -- Drools
Drools是一个基于java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。 本文所使用的demo已上传 http://download.csdn.net/source/30022131、Drools语法开始语法之前首先要了解一下drools的基本工作过程,通常而言我们转载 2015-06-08 20:23:44 · 971 阅读 · 0 评论 -
Spring Data for Mongo 介绍
本文将快速介绍 Spring Data for Mongo 的使用。Spring Data for MongoDB是Spring Data的一个子模块。 目标是为MongoDB提供一个相近的一致的基于Spring的编程模型。Spring Data for MongoDB核心功能是映射POJO到Mongo的DBCollection中的文档,并且提供Repository 风格数据访问层转载 2015-06-14 23:42:48 · 2117 阅读 · 0 评论 -
交互式git base(git rebase -i)用法示例
详解git rebaserebase的基本概念请参考http://git-scm.com/book/zh/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E8%A1%8D%E5%90%88 和 http://gitbook.liuhui998.com/4_2.html 这两篇文章对git rebase的基本概念介绍的比较转载 2015-03-26 16:43:19 · 7072 阅读 · 0 评论 -
BloomFilter–大规模数据处理利器(解决空查问题)(包含BloomFilter算法思想的演变:实例4)
BloomFilter–大规模数据处理利器 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络爬虫程序(web crawler)。由于网络间的链接转载 2014-08-18 16:18:53 · 1276 阅读 · 0 评论 -
海量数据处理算法—Bloom Filter
1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有转载 2014-08-18 16:09:56 · 752 阅读 · 0 评论 -
海量数据统计:海量日志提取最常访问IP,最常使用的query
1.有10个文件,每个文件1G,每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。如何按照query的频度排序。 2.海量日志数据,提取出某日访问百度次数最多的那个IP。 对于这类问题, 通常要使用分而治之的思想, 因为内存中不能够存放的下所有的数据, 为了保证将海量数据分成几个小块后, 每个小块中的元素都互不相同, 也就是值相同转载 2014-08-18 17:49:59 · 1406 阅读 · 0 评论 -
HBase体系结构(转)
HBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegion Server)群和HBase Master服务器(HBase Master Server)构成。HBase Master服务器负责管理所有的HRegion服务器,而HBase中所有的服务器都是通过ZooKeeper来进行协调,并处理HBase服务器运行期间可能遇到的错误。HBase Master Serv转载 2015-03-25 14:49:17 · 636 阅读 · 0 评论 -
hbase常识及habse适合什么场景
当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库?答案是什么,如果我们使用的传统数据库,肯定留有多余的字段,10个不行,20个,但是这个严重影响了质量。并且如果面对大数据库,pt级别的数据,这种浪费更是严重的,那么我们该使用是什么数据库?hbase数个不错的选择,那么我们对于hbase还存在下列问题:1.Column Family代表什么?转载 2015-03-24 15:14:40 · 776 阅读 · 0 评论 -
Zookeeper开源客户端框架Curator简介
Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情, 于是在它的基础上包装了一下, 提供了一套更好用的客户端框架. Netflix在用ZooKeeper的过程中遇到的问题, 我们也遇到了, 所以开始研究一下, 首先从他在github上的源码, w转载 2015-06-08 20:13:04 · 689 阅读 · 0 评论 -
项目中使用Quartz集群分享
在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享 一:CRM对定时任务的依赖与问题 二:什么是quartz,如何使用,集群,优化 三:CRM中quartz与Spring结合使用 1:CRM对定时任务的依赖与问题 1)依赖 (1)每天晚上的定时任务,通过sql脚本 + crontab方式执行 Xml代码转载 2015-06-08 20:22:10 · 1259 阅读 · 1 评论 -
Quartz 有状态的JobDataMap
Quartz,每次执行job,job永远是全新的对象,但是,如果job实现org.quartz.StatefulJob接口,而不是job接口.此时JobDetail的JobDataMap将会共享一个对象。注意:当实现有状态接口,StatefulJob时,只有JobDetail的JobDataMap是共用的,其他的,比如,Job本身,Trigger等,仍然每次执行的时转载 2015-06-08 20:22:38 · 2598 阅读 · 0 评论