万事开头难.最近在学习Hadoop,先是搭建各种版本环境,从2.2.0到2.3.0,再到1.2.1,终于都搭起来了,折腾了1周时间,之后开始尝试使用Eclipse编写小demo.仅复制一个现成的WordCount到Eclipse中执行竟然也出现各种错误,一一解决之后也是几个小时过去了. 为避免他人也耽误时间在这些问题上,现将运行成功后的源码分享. 先看下效果图: 图1. 运行成功的截图 图2. 项目结构视图 图3. 修改后的代码 将Hadoop安装目录下WordCount源码拷贝过来之后需要做图…
Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步调试呢? 看程序不能调那多痛苦啊,想看跟踪一下变量,想看一下执行路径都难. 所以这里,我们得把这个调试环境搭建起来.Hadoop的主要代码是用java编写的,所以这里就选用eclipse作为环境. Hadoop目录下,本身就可以为作eclipse的一个工程来操作,但这里我不想,我想自己来建一个工程,…
eclipse中导入外部包却无法查看对应源码或Javadoc的 入坑指南 出现这个错误的原因是,你虽然导入了.jar包,但没有配置对应的Javadoc或源码路径,所以在编辑器中无法查看源 码和对应API.接下来我们一起解决这个问题... 在项目名称上右击→ 新建→ 文件夹→ 文件名写lib→ 点击完成 然后把你下载的jar包,复制黏贴到这个lib文件夹 右击lib中的源码包→ 构建路径→ 添加至构建路径,自动生成一个"引用的库" 右击 "引用的库" 中的jar包→…
这里分析MapReduce原理并没用WordCount,目前没用过hadoop也没接触过大数据,感觉,只是感觉,在项目中,如果真的用到了MapReduce那待排序的肯定会更加实用. 先贴上源码 package examples; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Da…
FileInputFormat(org.apache.hadoop.mapreduce.lib.input.FileInputFormat)是专门针对文件类型的数据源而设计的,也是一个抽象类,它提供两方面的作用:   (1)定义Job输入文件的静态方法: (2)为输入文件形成切片的通用实现:   至于如何将切片中的数据转换为一条条的“记录”则根据文件类型的不同交由具体的子类负责实现.   FileInputFormat input paths   FileInputFormat提供了四个静态方法…
Capacity Scheduler调度策略当一个新的job是否允许添加到队列中进行初始化,判断当前队列和用户是否已经达到了初始化数目的上限,下面就从代码层面详细介绍整个的判断逻辑.Capaycity添加一个job,会通过注册的监听器org.apache.hadoop.mapred.JobQueuesManager向队列中添加JOB,添加JOB过程中会检查当前队列和用户是否已经达到资源上限了. 下面详细的从源码角度介绍判断的条件: 队列的相关的上限判断条件:(queueWaitingJobs +…
使用java开发,如果能阅读JDK的经典代码,对自己的水平提高是很有帮助的.笔者在实际工作中总结了两种阅读JDK源码的方式.第一种下载android源代码,直接在android源码代码中,这里的代码虽然不是标准的JDK源码,但是也很不错值得一看.另外一种,就是笔者接触java之后一直使用的方式,直接访问JDK源码,无须下载其他文件.       步骤一:在eclipse中,按住Ctrl+鼠标右键访问String类        步骤二:在eclipse打开的空白页中选择change Attach…
spring源码开始的时候是通过SVN来管理代码的,后来是转移到github上管理源码的,可以通过在github上直接下载spring的源码. 下面讲解如何通过在eclipse上的插件git来获取spring源码的 主要步骤如下: 1.首先需要在Eclipse中安装git的插件,在Eclipse-->Help-->Eclipse Marketplace...,在Search中的Find中输入egit,选择第一个Egit,然后安装 2.按照提示安装完以后,会提示需要重新启动Eclipse,然后重…
功安装完插件jadClipse 之后便可以查看源码class文件了 但是对于自己代码的class文件,直接复制过来却看不到,需要以下操作. 将此文件以及文件夹直接拷贝到Eclipse中发现 右击项目-->Properties(属性)-->Java buildpath--〉add class folder…
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/hadoop_block_placement_policy 大多数的叫法都是副本放置策略,实质上是HDFS对所有数据的位置放置策略,并非只是针对数据的副本.因此Hadoop的源码里有block replicator(configuration). BlockPlacementPolicy(具体逻辑源码)两种叫法. 主要用途:上传文件时决定文件在HDFS上存储的位置…