摘要: 既然是RPC, 自然就有客户端和服务器,当然,org.apache.hadoop.rpc也就有了类Client和类Server。在这里我们来仔细考察 org.apache.hadoop.rpc.Client。下面的图包含了org.apache.hadoop.rpc.Client中的关键类和关键 方法。 由于Client 可能和多个Server通信,典型的一次HDFS读,需要和NameNode打交道... 阅读全文
posted @ 2010-03-20 00:44 searchDM 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 为org.apache.hadoop.io.compress等的分析预留位置 介绍完org.apache.hadoop.io以后,我们开始来分析org.apache.hadoop.rpc。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。当我们讨论HDFS的,通信可能发生在: Client-NameNode之间,其中NameNode是服务器Client-DataN... 阅读全文
posted @ 2010-03-20 00:43 searchDM 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 由于Hadoop的MapReduce和HDFS都有通信的需求,需要对通信的对象进行序列化。Hadoop并没有采用Java的序列化,而是引入了它自己的系统。 org.apache.hadoop.io中定义了大量的可序列化对象,他们都实现了Writable接口。实现了Writable接口的一个典型例子如下: Java代码 publicclassMyWritableimplementsWritable... 阅读全文
posted @ 2010-03-20 00:38 searchDM 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 下面给出了Hadoop的包的功能分析。 Package Dependences tool 提供一些命令行工具,如DistCp,archive mapreduce Hadoop的Map/Reduce实现 filecache 提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度 fs 文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口 hdfs HDFS,Hadoop的... 阅读全文
posted @ 2010-03-20 00:36 searchDM 阅读(451) 评论(0) 推荐(0) 编辑
摘要: Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。 GoogleCluster: http://research.google.com/archive/googlecluster.html Chubby:http://labs.google.com/papers/chubby.html GFS:http://labs.google.com/pap... 阅读全文
posted @ 2010-03-20 00:35 searchDM 阅读(643) 评论(0) 推荐(0) 编辑
摘要: HDFS是一个不错的分布式文件系统,它有很多的优点,但也存在有一些缺点。目前而言,它在以下几个方面就效率不佳:  低延时访问  HDFS不太适合于那些要求低延时(数十毫秒)访问的应用程序,因为HDFS是设计用于大吞吐量数据的,这是以一定延时为代价的。HDFS是单Master的,所有的对文件的请求都要经过它,当请求多时,肯定会有延时。当前,对于那些有低延时要求的应用程序,HBase是一个更好的选择。... 阅读全文
posted @ 2010-03-20 00:31 searchDM 阅读(3708) 评论(0) 推荐(1) 编辑
摘要: 来自原小站,技术含量≈0,翻译整理自Hadoop-The Definitive Guide。 Pig 是yahoo捐献给apache的一个项目,它是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进 MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能。这是Yahoo开发的又一个克隆Google的项目:Sawzall。 Pig是... 阅读全文
posted @ 2010-03-20 00:30 searchDM 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 还是原小站的东西,学习Hadoop的一些心得,扔这里保管先吧。   HDFS也有块(Block)的概念,但它的块是一个很大的单元,默认是64MB。像硬盘中的文件系统一样,在HDFS中的文件将会按块大小进 行分解,并作为独立的单元进行存储。但和硬盘中的文件系统不一样的是,存储在块中的一个比块小的文件并不会占据一个块大小的硬盘物理空间(HDFS中一个 块只存储一个文件的内容)。  那为什么HDFS中的... 阅读全文
posted @ 2010-03-20 00:30 searchDM 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 额外的MapReduce功能图4.6 插入了Combiner的MapReduce数据流  Combiner:前 面展示的流水线忽略了一个可以优化MapReduce作业所使用带宽的步骤,这个过程叫Combiner,它在Mapper之后Reducer之前运行。 Combiner是可选的,如果这个过程适合于你的作业,Combiner实例会在每一个运行map任务的节点上运行。Combiner会接收特定节点... 阅读全文
posted @ 2010-03-20 00:29 searchDM 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 输入块(InputSplit):一个输入块描述了构成MapReduce程序中单个map任务的一个单元。把一个 MapReduce程序应用到一个数据集上,即是指一个作业,会由几个(也可能几百个)任务组成。Map任务可能会读取整个文件,但一般是读取文件的一部 分。默认情况下,FileInputFormat及其子类会以64MB(与HDFS的Block默认大小相同,译注:Hadoop建议Split大小与此... 阅读全文
posted @ 2010-03-20 00:28 searchDM 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 这篇文章翻译自Yahoo的Hadoop教程, 很久之前就看过了,感觉还不错。最近想总结一下以前学的东西,看到现在关于Hadoop的中文资料还比较少,就有了把它翻译出来的想法,希望能帮助到初学 者。这只是Yahoo的Hadoop教程中很小的一部分,我下去还会选一些来翻译,一般来说只翻译讲原理的,操作类的就不翻译了。水平有限,不妥之处,请 指正(感觉翻译过来后,读起来倒是没英文的顺畅:)。废话说完,正... 阅读全文
posted @ 2010-03-20 00:27 searchDM 阅读(1755) 评论(1) 推荐(1) 编辑
摘要: 在上一篇文章中我们讲解了一个基本的MapReduce作业由那些基本组件组成,从高层来看,所有的组件在一起工作时如下图所示: 图4.4高层MapReduce工作流水线   MapReduce的输入一般来自HDFS中的文件,这些文件分布存储在集群内的节点上。运行一个MapReduce程序会在集群的许多节点甚至所有节点上运行mapping任务,每一个mapping任务都是平等的:mappers没有特定... 阅读全文
posted @ 2010-03-20 00:27 searchDM 阅读(1145) 评论(0) 推荐(1) 编辑
摘要: 原文出处:http://blog.chenlb.com/2009/12/update-to-solr-1-4-matter.html Solr 1.4 已经正式发布一段时间了,是考虑升级的时候了。记录下我目前环境的情况以及注意事项。 Solr 1.4 比较吸引人的有两功能:一是 Trie 的字段支持高性能的 range query,快10倍;二是 solr replicatio... 阅读全文
posted @ 2010-03-20 00:25 searchDM 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 原文出处:http://blog.chenlb.com/2010/03/solr-delete-data.html 有时候需要删除 Solr 中的数据(特别是不重做索引的系统中,在重做索引期间)。删除一些 Solr 无效数据(或不合格数据)。 删除 solr 中的数据有几种方式: 1、先来看 curl 方式: curlhttp://localhost:8080/update--... 阅读全文
posted @ 2010-03-20 00:17 searchDM 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 原文出处:http://blog.chenlb.com/2009/12/updatedsolr-1-4-upgrade-performance.html 昨天升级完 Solr 1.4。今天看统计结果,整体性能有所提升。环境基本一致,请求量基本一致,0 - 0.1 s响应时间的比例提高 7 个百分点。 如图: 升级前(solr 1.3) solr1.3 的搜索响应时间比例,共 2... 阅读全文
posted @ 2010-03-20 00:17 searchDM 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 这篇文章接着上一篇文章,把Solr的home目录介绍完。所谓的Solr home目录实际上是一个运行的Solr实例所对应的配置和数据(Lucene索引)。在上一篇文章中我提到过在Solr的example/solr目录 就是一个Solr用做示例的默认配置home目录。实际上example/multicore也是一个合法的Solr home目录,只不过是用来做mult-core设置的。那么我们来看看e... 阅读全文
posted @ 2010-03-20 00:09 searchDM 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 这篇文章将简要的介绍一下Solr的目录结构。进入Solr所在的目录,我们可以看到以下几个目录:build、client、dist、example、lib、site、src。接下来分别对其进行介绍。 build:该目录是在ant build过程中生成的,其中包含了未被打包成jar或是war的class文件以及一些文档文件。 client:该目录包含了特定语言的Solr客户端API,使得使用其他语言的... 阅读全文
posted @ 2010-03-20 00:08 searchDM 阅读(668) 评论(0) 推荐(0) 编辑
摘要: SOLR环境变量的配置 收藏 solr.solr.home的理解和配置 主要有两种 基于环境变量solr.solr.home在当前用户的环境变量中(.bash_profile)或在/opt/tomcat/catalina.sh中添加如下环境变量export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr-tomcat/solr" 评价:此种方法... 阅读全文
posted @ 2010-03-20 00:00 searchDM 阅读(1179) 评论(0) 推荐(0) 编辑
摘要: 此类问题,不仅仅限于SOLR,还有很多基于XML配置程序,也会出现这种问题,原因十有八九就是 XML格式书写错误 有问题的XML : view plaincopy to clipboardprint?<?xmlversion="1.0"encoding="UTF-8"><ContextdocBase="/opt/solr/solrApp"debug="0"crossContext... 阅读全文
posted @ 2010-03-20 00:00 searchDM 阅读(1167) 评论(0) 推荐(0) 编辑