1.Hadoop Streaming

是为了方便不太熟悉java用户编写MR程序的工具。用户可以将任何可执行文件(C++)或者脚本(python,ruby)作为Mapper/Reducer, 提高了效率。Hadoop Steaming 要求用户编写的Mapper/Reducer从【标准输入】中读取数据,并将结果写到【标准输出】中。这个有点类似于linux的管道机制。

hadoop jar /*/hadoop-streaming-2.2.0.jar
-mapper map.py -reducer 'wc -|'
-input /data/test.log -output /data/result

2.ChainMapper/ChainReducer

同样类似于linux管道重定向机制,前一个map的输出直接作为下一个map的输入,形成一个流水线。设想这样一个场景:在Map阶段,数据经过mapper01和mapper02处理;在Reduce阶段,数据经过shuffle和sort后,交给对应的reducer处理,reduer处理后并没有直接写入到Hdfs,,而是交给了另一个mapper03处理,它产生的结果最终写到HDFS的输出目录中。但是要注意,对任一MR作业,Map和Reduce阶段可以有无限个mapper,但reduer只能有一个。详见MR案例:链式ChainMapper

3.Hadoop如何Kill指定用户的所有Job

  • 列出RM上所有的作业:hadoop/mapred job -list
  • 使用hadoop job -kill杀掉指定的jobid:hadoop job -kill job_id
  • 组合以上两条命令就可以实现kill掉指定用户的job:for i in `hadoop job -list | grep -w  username| awk '{print $1}' | grep job_`; do hadoop job -kill $i; done

4.理解hadoop fsck、fs -dus、-count -q的大小输出

  • 逻辑空间:即分布式文件系统上真正的文件大小
  • 物理空间:即存在分布式文件系统上该文件实际占用的空间
  • 物理空间 = 逻辑空间 * block备份数

4.1.hadoop fsck 和 hadoop fs -dus 显示的文件大小表示的是文件占用的逻辑空间

[root@ncst logs]# hadoop fsck /test
Total size: 92 B //这里是关键【逻辑空间】
Total dirs: 2
Total files: 3
****
FSCK ended at Fri Aug 21 22:22:00 CST 2015 in 2 milliseconds
The filesystem under path '/test' is HEALTHY [root@ncst logs]# hadoop fs -dus /test
92 /test //这里是关键【逻辑空间】

4.2.hadoop fs -count -q 可以看到这个目录真正的物理空间使用情况【由于设置的副本数为1】

[root@ncst logs]# hadoop fs -count -q /test
命名空间的quota 剩余的quota 物理空间的quota 剩余的物理空间 目录数 文件数 目录逻辑空间总大小 路径
QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME
none inf none inf 2 3 92 /test

5.Hadoop相关协议

JT相关

 TT与JT:InterTrackerProtocol
 TT与子进程:TaskUmbilicalProtocol  
 Client与JT:JobSubmissionProtocol

NN相关

 Client与NN:ClientProtocol
  主要方法:getBlockLocations(),setReplication(),createSnapshot(),append(),setPermission(),setSafeMode(),mkdirs()等
 DN与NN:DatanodeProtocol
  主要方法:registerDatanode(),sendHeartbeat(),blockReport()等
 SNN与NN:NamenodeProtocol
  主要方法:registerSubordinateNamenode(),getEditLogManifest(),startCheckpoint(),endCheckpoint()等

DN相关

 Client与DN:ClientDatanodeProtocol
  主要方法:getBlockLocalPathInfo(),getHdfsBlocksMetadata(),deleteBlockPool()等
 DN与DN:InterDatanodeProtocol
  主要方法:initReplicaRecovery(),updateReplicaUnderRecovery()等

RM相关

 Client与RM:ApplicationClientProtocol
  主要方法:submitApplication(),getQueueInfo(),getNewApplication(),getApplications(),forceKillApplication()等
 AM与RM:ApplicationMasterProtocol
  主要方法:registerApplicationMaster(),allocate(),finishApplicationMaster()等

NM相关

 AM与NM:ContainerManagementProtocol
  主要方法:startContainers(),getContainerStatuses(),stopContainers等

hadoop随手笔记的更多相关文章

  1. Hadoop阅读笔记(一)——强大的MapReduce

    前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...

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

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

  3. JS SDK 随手笔记

    JS SDK 随手笔记 窗口模块 Frame/Multi Frame 对话框 页面间的通讯 生命周期 窗口层叠 窗口模块 窗口模块是是AppCan移动应用界面最基本的单位.窗口是每个界面布局的基础,他 ...

  4. Hadoop阅读笔记(七)——代理模式

    关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...

  5. Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable

    酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...

  6. Hadoop阅读笔记(五)——重返Hadoop目录结构

    常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...

  7. Hadoop阅读笔记(四)——一幅图看透MapReduce机制

    时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...

  8. Hadoop阅读笔记(三)——深入MapReduce排序和单表连接

    继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算 ...

  9. Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

    前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...

随机推荐

  1. 第一个MapReduce的例子

    第一个MapReduce的例子 Hadoop Guide的第一个MapReduce的例子是处理气象数据的(数据来源ncdc),终于跑通了.总结一下步骤,安装hadoop不在本文中介绍 1 数据预处理 ...

  2. spring boot 加载jsp

    1.spring boot启动类继承SpringBootServletInitializer ,并且重写configure方法 package com.springapp.mvc;import jav ...

  3. Oracle Schema Objects——Tables——Oracle Data Types

    Oracle Schema Objects Oracle Data Types 数据类型 Data Type Description NUMBER(P,S) Number value having a ...

  4. iros2016-Monday 10/10/2016

    Workshop Day Integrating Multiple Knowledge Representation and Reasoning Techniques in Robotics (MIR ...

  5. python基础-第十三篇-13.1web框架本质

    基础与概念 众所周知,对于所有的web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 web框架分两类:一类是包括socket和业务逻辑(tornado),另一 ...

  6. MapReduce自定义InputFormat和OutputFormat

    一.自定义InputFormat 需求:将多个小文件合并为SequenceFile(存储了多个小文件) 存储格式:文件路径+文件的内容 c:/a.txt I love Beijing c:/b.txt ...

  7. 深入了解跟踪(trace)

    深入了解跟踪(trace) 转自:https://www.cnblogs.com/zhijianliutang/p/4113911.html 前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们 ...

  8. 前端 javascript 数据类型 数组 列表

    javascript数组相当于python的列表 创建列表 a = [1,2,3,4]; [1, 2, 3, 4] 获取列表长度 a = [1,2,3,4]; [1, 2, 3, 4] a.lengt ...

  9. mongoDb,下载及启动

     mongoDb下载 https://www.mongodb.com/download-center 可视化工具Robomongo下载 https://robomongo.org/download m ...

  10. 小程序页面链接-navigator(导航)

    navigator-页面链接-通过设置open-type的值来确定页面的打开方式. <view class="btn-area"> <navigator url= ...