hadoop 学习笔记
参考资料:《Hadoop 权威指南》
1 map处理完后,hadoop框架会将结果安装键进行排序,然后将排好的结果传给reduce


2 需要低延迟的应用不适合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 学习笔记的更多相关文章
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
- Hadoop学习笔记(6) ——重新认识Hadoop
Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...
- Hadoop学习笔记(2)
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- Hadoop学习笔记(5) ——编写HelloWorld(2)
Hadoop学习笔记(5) ——编写HelloWorld(2) 前面我们写了一个Hadoop程序,并让它跑起来了.但想想不对啊,Hadoop不是有两块功能么,DFS和MapReduce.没错,上一节我 ...
- Hadoop学习笔记(3)——分布式环境搭建
Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...
- Hadoop学习笔记(2) ——解读Hello World
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- Hadoop学习笔记(1) ——菜鸟入门
Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...
- Hadoop学习笔记(两)设置单节点集群
本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...
- Hadoop学习笔记—5.自定义类型处理手机上网日志
转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...
随机推荐
- Linux(C/C++)下的文件操作open、fopen与freopen
open是linux下的底层系统调用函数, fopen与freopen c/c++下的标准I/O库函数,带输入/输出缓冲. linxu下的fopen是open的封装函数,fopen最终还是要调用底层的 ...
- c#.net基础
值类型:值类型的实例一般在线程的栈上分配 引用类型:引用类型的实例在线程的托管堆上分配 引用类型变量的Equals比较的是二者的引用地址而不是内部的值,值类型变量的Equals方法比较的是二者的值. ...
- C++ 智能指针二
/* 智能指针shared_ptr注意点 */ #include <iostream> #include <string> #include <memory> // ...
- EventBus vs Otto vs Guava--自定义消息总线
同步发表于http://avenwu.net/ioc/2015/01/29/custom_eventbus Fork on github https://github.com/avenwu/suppo ...
- irc
https://www.irccloud.com/ webchat.freenode.net http://blog.csdn.net/wcc526/article/details/16993069 ...
- python 迭代器模式
迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式.这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示. 迭代器模式属于行 ...
- javascript +new Date()
最近学习JavaScript时,看到Date的一个有意思的用法就是+new Date(),结果跟Date对象的getTime(),valueOf()是一样的,他们返回的都是1970年1月1日午夜以来的 ...
- 在springBoot中配置web.xml中配置的servlet
第一种 web.xml (截取的需要转换的) 当拦截到 /socke t时执行该servlet <servlet> <servlet-name>websocket</se ...
- webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法
最近在研究webpack,当我执行npm run build / npm start / npm run server等命令时,都是提示下面的警告信息 WARNING in configuration ...
- [JavaScript] 配置JavaScript BUILD
<project name="eForm" default="concatenate"> <tstamp> <format pro ...