下午对着源码看陆喜恒. Hadoop实战(第2版)6.4.1  (Shuffle和排序)Map端,发现与Hadoop 1.2.1的源码有些出入.下面作个简单的记录,方便起见,引用自书本的语句都用斜体表示. 依书本,从MapTask.java开始.这个类有多个内部类: 从书的描述可知,collect()并不在MapTask类,而在MapOutputBuffer类,其函数功能是 1.定义输出内存缓冲区为环形结构2.定义输出内存缓冲区内容到磁盘的操作 在collect函数中将缓冲区的内容写出时会调用s…
修改陆喜恒. Hadoop实战(第2版)5.3排序的代码时遇到IO异常. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.5, Hadoop 1.2.1 异常具体信息如下 14/10/06 03:08:51 INFO mapred.JobClient: Task Id : attempt_201410021756_0043_m_000000_0, Status : FAILED java.io.IOException: Type mismatch in value…
简化陆喜恒. Hadoop实战(第2版)5.4单表关联的代码时遇到空指向异常,经分析是逻辑问题,在此做个记录. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.5, Hadoop 1.2.1 改好的代码如下,在reduce阶段遇到了NullPointerException. public class STjoinEx { private static final String TIMES = "TIMES"; public static void main…
本文讲述作业在Hadoop 1.2.1完成map后ruduce阶段遇到failed to report status for 600 seconds. Killing!问题的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机.IDEA自身运行于JDK 1.8,IDEA工程及Hadoop使用JDK 1.6. 提交作业到hadoop后,作业执行时间过长,输出…
本文讲述在CentOS 6.5中提交作业到hadoop 1.2.1于reduce阶段遇到Error: java heap space错误导致作业重新计算的解决过程.解决办法适用Linux.Mac OS X 和Windows操作系统. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机.IDEA自身运行于JDK 1.8,IDEA工程及Hadoop使用JDK 1.6.…
本文讲述使用IntelliJ IDEA时遇到Hadoop提示input path does not exist(输入路径不存在)的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机. 这是自学Hadoop的第三天.以前做过点.NET开发,Mac.IntelliJ IDEA.Hadoop.CentOS对我而言,相当陌生.第一份Hadoop代码就遇到了问题.…
本文讲述使用KeyValueTextInputFormat在Hadoop 0.x正常工作.Hadoop 1.2.1失效的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机.IDEA自身运行于JDK 1.8,IDEA工程及Hadoop使用JDK 1.6. 还在折腾Hadoop In Action第4章的代码,书的写法,如下所示. job.setInputF…
本文讲述使用IntelliJ IDEA打包Project的过程,即,打jar包. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机.IDEA自身运行于JDK 1.8,IDEA工程及Hadoop使用JDK 1.6. 在本系列博文的第一篇,我因不会使用IDEA打jar包,不得不直接调试代码,遇到输入路径不存在问题.今天,我打了几次jar包,结果不都满意,默认情况,ID…
本文讲述在IntelliJ IDEA中使用MRUnit 1.0.0测试Mapper派生类时因MapDriver.withInput(final K1 key, final V1 val)的key参数被错误设置成空字符串""导致No applicable class implementing Serialization的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1, MRUnit 1.0.0 Hadoop放在虚拟…
本文讲述在IntelliJ IDEA中使用FileSystem.copyFromLocalFile操作Hadoop时因URI格式有误导致Permission denied的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机. 操作代码如下 public class CopyFromLocalTestDriver { public static void…
首先要推荐一下:http://www.alidata.org/archives/1470 阿里的大牛在上面的文章中比较详细的介绍了shuffle过程中mapper和reduce的每个过程,强烈推荐先读一下. 不过,上文没有写明一些实现的细节,比如:spill的过程,mapper生成文件的 partition是怎么做的等等,相信有很多人跟我一样在看了上面的文章后还是有很多疑问,我也是带着疑问花了很久的看了cdh4.1.0版本 shuffle的逻辑,整理成本文,为以后回顾所用. 首先用一张图展示下m…
一直对书和各种介绍不太满意, 终于看到一篇比较好的了,迅速转载. 首先要推荐一下:http://www.alidata.org/archives/1470 阿里的大牛在上面的文章中比较详细的介绍了shuffle过程中mapper和reduce的每个过程,强烈推荐先读一下. 不过,上文没有写明一些实现的细节,比如:spill的过程,mapper生成文件的 partition是怎么做的等等,相信有很多人跟我一样在看了上面的文章后还是有很多疑问,我也是带着疑问花了很久的看了cdh4.1.0版本 shu…
Mapreduce为了确保每个reducer的输入都按键排序.系统执行排序的过程-----将map的输出作为输入传给reducer 称为shuffle.学习shuffle是如何工作的有助于我们理解mapreduce工作机制.shuffle属于hadoop不断被优化和改进的代码库的一部分.从许多方面看,shuffle是mapreduce的“心脏”,是奇迹出现的地方. 下面这张图介绍了mapreduce里shuffle的工作原理: <ignore_js_op> 从图可以看出shuffle发生在ma…
Installing Hadoop on Mac OSX Yosemite Tutorial Part 1. September 23, 2014 Marek 68 Comments Install HomeBrewInstalling HadoopSSH LocalhostConfiguring HadoopStarting and Stopping HadoopGood to know Additional Resources Github Wordcount example. Instal…
Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布Java Web项目详解三 新建Module Mac下Intellij IDea发布Java Web项目详解四 为所有Module配置Tomcat Deployment Step1 新建JavaEE Project并进行相应设置 1.1 如图 1.2 填下项目名,我写WebWorkSpace.这里相当…
一.mac OS X下Java项目环境搭建 因为某些原因新入手了台最新版的MacBook Pro,意味着今天要花一天时间安装各种软件以及项目环境搭建╮(╯▽╰)╭ 项目环境搭建步骤: 1.安装jdk jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择Mac OS X版傻瓜式操作,安装后的目录为/Library/Java/JavaVirtualMachines/…
Mac下Intellij IDEA Console中文是?,解决办法是在运行时的VM参数配置也加入: -Dfile.encoding=UTF-8…
终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本不是最新,搭着 Build 2015 的春风,我也实践一下 Mac OS X 上的 ASP.NET 5. 经常使用 Windows 8.1,对 Mac 并不太熟悉,也一并把安装中的问题趟一遍. 前几天刚刚更新了 Mac 的操作系统,操作系统版本 Mac OS X Yosemite 10.10.3. 1. 在 Mac OS X 上安装 ASP.NET 5 ASP.NET 5 运行在 DNX 之上,DN…
刚更新到了 Mac OS X Yosemite 10.10,发现运行Apache出现了一些问题,修正一下! 教程基于 Mac OS X Mavericks 10.9.X,移步:Mac OS X Mavericks 配置 Apache+Mysql+PHP 详细教程 首先启动 Apache,在终端里输入命令: sudo apachectl start 查看 Apache 版本: httpd -v 在Yosemite 10.10下,apache更新了 Server version: Apache/2.…
需要预备的软件如下: OSX10.10的系统镜像,下载好之后将后缀.cdr改成.iso,下载来源如下:    链接:http://pan.baidu.com/s/1sj4ri5R 密码:y86w unlocker2.08—-用于解锁VM,配合修改虚拟机的一个文件,让配置VM的时候产生OSX的选项,同时产生用于osx的vmtools镜像安装盘(默认情况下没有OSX选项),需要英文路径,需要管理员权限运行install,下载来源如下:    链接: http://pan.baidu.com/s/1i…
测试前准备工作目录 Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布Java Web项目详解三 新建Module Mac下Intellij IDea发布Java Web项目详解四 为所有Module配置Tomcat Deployment JavaProject的工程结构 开始测试下绝对路径 <%@ page contentType="text…
http://www.mactech.cn/a/108.html UltraEdit for mac 3.2.0.10破解版下载地址 看很多朋友不知道算号器的使用方法,分享如下: 1. 解压UltraEdit_3.2.0.10.zip 2. 断开网络连接(禁用或者拔网线,关WIFI,重要!!亲测) 3. 拷贝UltraEdit.app到/Appliecations目录 4. 打开UltraEdit.app会提示注册,点击[注册],在接下来的对话框中的[许可证ID]和[密码]中任意输入数字即可,点…
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中说明了编译源码需要的软件环境: 1. 具体如下: [x] Hadoop源码 [x] Windows 系统 [x] JDK 1.8+ [x] Maven 3.0 or later [x] Findbugs 1.3.9 (可省略) [x] ProtocolBuffer 2.5.0 [x] CMake 2…
适应于:英文操作系统,但是语言和区域设置为中文的环境. Mac: /Applications/IntelliJ IDEA CE.app/Contents/bin/idea.vmoptions 增加 -Duser.language=en-Duser.region=US 打开IDEA的安装目录下的idea.exe.vmproperties,在文件中添加下面两行:-Duser.language=en-Duser.region=US…
注:本文所使用的intellij idea是14.1.2的版本号. 一.项目的新建(以新建Java项目为例) 选中当中的"create new project". 接下来你会看到下面界面. 2. 接下来一直点击next.直到下面界面. 这时候我们在"Project Name"中给我们信件的这个Project起一个名字. 接下来点击"Finish"就可以完毕项目的新建. 3.新建一个类. 选中"src"文件夹,然后右击(两个手指…
预备条件: 1. 已安装JDK Add Hadoop Group and User $ sudo addgroup hadoop$ sudo adduser --ingroup hadoop hduser$ sudo adduser hduser sudo     切换到hduser账户下操作     SSH-server 安装 $ sudo apt-get install openssh-server   Setup SSH Certificate   $ ssh-keygen -t rsa…
15/03/18 09:59:21 INFO mapreduce.Job: Task Id : attempt_1426641074924_0002_m_000000_2, Status : FAILED Error: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-35642051-192.168.199.91-1419581604721:blk_1073743091_2267 file=/fil…
一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从代码分析来说明在map端是如何将map的输出保存下来等待reduce来取. 在执行每个map task时,无论map方法中执行什么逻辑,最终都是要把输出写到磁盘上.如果没有reduce阶段,则直接输出到hdfs上,如果有有reduce作业,则每个map方法的输出在写磁盘前线在内存中缓存.每个map…
首记 感觉Hadoop是一个坑,打着大数据最佳解决方案的旗帜到处坑害良民.记得以前看过一篇文章,说1TB以下的数据就不要用Hadoop了,体现不 出太大的优势,有时候反而会成为累赘.因此Hadoop的使用场所一般有两:一是有一定规模的公司,数据流一般是TB级别的,这样的公司其实不多:二是各 大高校的实验室,作为研究使用.不幸的我也走上了这条路,仅为研究之用.而且我的使用需求还不是一般的在Hadoop下开发应用程序,而是开发好的C++ 程序要放到Hadoop平台下进行测试.Hadoop是基于Jav…
Hadoop基础-Map端链式编程之MapReduce统计TopN示例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.项目需求 对“temp.txt”中的数据进行分析,统计出各个年份(第15~19列)总排行前十的最高气温(第87~92列),由于博客园无法上传大文件的文本,因此我把该文本的内容放在博客园的另一个链接了(需要的戳我).,如果网页打不开的话也就可以去百度云盘里下载副本,链接:链接:https://pan.baidu.com/s/12aZFcO2XoegUGMAb…