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 关于这 ...
随机推荐
- Django登陆以后重定向到请求登陆的页面
登陆和注销操作在网页编程上很常见,这两个操作经常需要在操作成功以后转入发出请求的页面. 比如用户正在浏览一篇文章,发现下载该文章的附件需要登录才能进行,这时候点击登陆链接转入登陆页面,输入用户名密码登 ...
- [转]RabbitMQ入门教程(概念,应用场景,安装,使用)
原文地址:https://www.jianshu.com/p/dae5bbed39b1 RabbitMQ 简介 RabbitMQ是一个在AMQP(Advanced Message Queuing Pr ...
- 安装 Xshell 5/6 时出现.dll以及0xc000007错误的解决
安装 Xshell 5/6 时出现.dll以及0xc000007错误的解决 问题:缺少 mfc110.dll或者是其他.dll文件以及应用程序运行错误,如下所示. 方法: 一种是网上直接下载.(缺少. ...
- android平台的三个编译命令——make,mm,mmm
在Android源码根目录下,执行以下三步即可编译android: 1. build/envsetup.sh #这个脚本用来设置android的编译环境; 2. lunch #选择编译目标 3 ...
- ubuntu: apt-get update的时候遇到“Hash Sum mismatch”错误
http://blog.csdn.net/xjwjava/article/details/8543768 http://askubuntu.com/questions/140246/how-do-i- ...
- Linux部署Web应用程序超链接下载中文名称文件404问题解决办法
Web应用程序目录下有帮助文档,是中文名称的Word文件 超链接内容如下: <a href="jsp/plugin/用户手册.doc">用户手册</a> 开 ...
- Cisco VTP中继协议配置
VTP协议: VLAN中继协议,VTP,VLAN TRUNKING PROTOCOL,是CISCO专用协议,大多数交换机都支持该协议.VTP负责在VTP域内同步VLAN信息, 这样就不必在每个交换上配 ...
- 3 saltstack高可用
高可用 如果我们依赖于saltmaster管理服务器,那么就需要对saltmaster做好高可用.那么saltstack-master怎么做高可用呢? 可以参考官网1,官网2 机器配置: 我们有两台机 ...
- 升级 Centos 6.5/6.7 的 php 版本
Centos 6.5/6.7 的 php 预设是用 5.3.3 这个版本号 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-releas ...
- Linux下常用的文件传输方式介绍与比较
参考链接:http://mingxinglai.com/cn/2014/03/copy-file-in-linux/ 本文介绍了linux之间传输文件的几种方式,并通过具体实验测试了几种文件传输方式之 ...