参考资料:《Hadoop 权威指南》

1 map处理完后,hadoop框架会将结果安装键进行排序,然后将排好的结果传给reduce

需要低延迟的应用不适合HDFS,对于低延迟应用HBase更适合

3 HDFS中的文件只有一个写入者,而且写操作总是在文件的末尾,不支持多个写入者或在文件任意位置修改

4 HDSF集群有两种节点:一个名称节点(管理者)和多个数据节点(工作者)
名称节点维护着这个文件系统的树及树内所有的文件和索引目录;一点名称节点坏掉,所有的文件将会丢失,因为无法知道如何通过数据节点上的块来重建文件
数据节点存储和提供定位块的服务,并定时向名称节点发送存储的块的列表

5 HDFS默认将数据块复制3份,可以通过dfs.replication来控制复制的份数,在一台机器上运行HDFS(即伪分布模式)时,要将此参数设为1,否则会持续警告块的副本不够

6 HDFS的文件由副本数这个概念,但目录没有,因为目录是作为元数据存储在名称节点的,而不是数据节点

7 通过hadoop fs命令可以对HDFS这个文件系统进行读取文件、创建目录、移动文件、删除数据、列出索引目录等操作

8 sequenceFile类作为小型文件的容器也不错,HDFS和mapreduce是大型文件的利器,所以将文件打包到一个sequenceFile类中,使得我们能够更高效地对小型文件进行存储和处理(第7章有一个程序将文件打包到一个sequenceFile

9 MapReduce 模型将作业分隔成任务,然后并行运行任务,是作业整体执行时间少于顺序执行的时间

10 reduce函数的输入类型必须与map函数的输出类型一致

11 输入数据的类型是通过输入格式进行设定的

12 reducer槽的数目是集群中节点数与mapred.tasktracker.reduce.tasks.maxinum的乘机。

13 一个通常做法是将reducer个数设置成稍小于reducer任务槽数

14 若有8个处理器,并想在每个处理器上运行两个程序,则设置mapred.tasktracker.map.tasks.maximun和mapred.tasktracker.reduce.tasks.maximun为7(不是8,因为数据节点和tasktracker各自占一个槽)

15 应尽量避免小文件

16 Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。

17 可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode”和SecondaryNameNode

18 成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件

19 单机模式,grep 例子读取的是本地数据,伪分布式读取的则是 HDFS 上的数据

20 搭建为分布式Hadoop:参考资料 http://www.powerxing.com/install-hadoop-in-centos/

hadoop 学习笔记的更多相关文章

  1. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  2. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  3. Hadoop学习笔记(6) ——重新认识Hadoop

    Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...

  4. Hadoop学习笔记(2)

    Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...

  5. Hadoop学习笔记(5) ——编写HelloWorld(2)

    Hadoop学习笔记(5) ——编写HelloWorld(2) 前面我们写了一个Hadoop程序,并让它跑起来了.但想想不对啊,Hadoop不是有两块功能么,DFS和MapReduce.没错,上一节我 ...

  6. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  7. Hadoop学习笔记(2) ——解读Hello World

    Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...

  8. Hadoop学习笔记(1) ——菜鸟入门

    Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...

  9. Hadoop学习笔记(两)设置单节点集群

    本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...

  10. Hadoop学习笔记—5.自定义类型处理手机上网日志

    转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...

随机推荐

  1. 微信小程序场景值

    场景值 基础库 1.1.0 开始支持,低版本需做兼容处理 当前支持的场景值有: 场景值ID 说明 1001 发现栏小程序主入口 1005 顶部搜索框的搜索结果页 1006 发现栏小程序主入口搜索框的搜 ...

  2. linux每日命令(8):mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 一.命令格式: mv [选项] 源文件或目 ...

  3. 【转】SAP BW 顾问靠手 — SAP中的例程

    什么是例程(Routine)? 例程就是我们可以自己定义的程序代码.通过程序代码来完成我们的需求,因为业务是千变万化,如果想让产品能跟随上业务的脚步,就必须要有非常灵活的功能来补充.大家都知道软件产品 ...

  4. 《软件测试自动化之道》读书笔记 之 底层的Web UI 测试

    <软件测试自动化之道>读书笔记 之 底层的Web UI 测试 2014-09-28 测试自动化程序的任务待测程序测试程序  启动IE并连接到这个实例  如何判断待测web程序完全加载到浏览 ...

  5. 删除最少字符生成Palindrome

    看到一个哥们G家电面试题,求删除最少字符生成Palindrome.大神们都在讨论dp,我完全想不到. 放一个没优化的DFS. 乐神说是O(n3)复杂度, 有机会的话要减少使用substring,并且要 ...

  6. Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解

    一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...

  7. 音视频处理ffmpeg使用

    参考资料: [url]http://blog.163.com/prosen@yeah/blog/static/12251328720099101378975/ http://ffmpeg.org/ff ...

  8. ViewPager PagerAdapter not updating the View

    There are several ways to achieve this. The first option is easier, but bit more inefficient. Overri ...

  9. SpringBoot thymeleaf使用方法,thymeleaf模板迭代

    SpringBoot thymeleaf使用方法,thymeleaf模板迭代 SpringBoot thymeleaf 循环List.Map ============================= ...

  10. css3整理--calc()

    calc()语法: elem{ width:calc( 50% -2px ); } 取值说明: calc是计算的缩写,上句含义是:计算elem父元素的50%再减2px,并将结果赋值给elem的widt ...