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. Ubuntu 安装 GNOME 之后开机进不了桌面

    折腾了两晚上,终于解决了这个问题,进入了桌面. 问题是这样产生的:我安装了 ubuntu-gnome-shell 这个包,然后出现配置 display manager 的选项,有 gdm3 和 lig ...

  2. 【教程】AI画放射图

    第一步:画矩形作图宇宙键shift 第二步:分为网格 第三步:直接选择工具 第四步:填充交叉色,这步不再敖述: 第五步:视图--轮廓:快捷键ctrl+y; 第六步:直接选择工具选择除边框以外的所有节点 ...

  3. AI画圆角矩形

    如何画圆角矩形:设置矩形圆角大小 第一种方法:点击圆角矩形在画布上点一下; [caption id="attachment_878" align="alignnone&q ...

  4. SpringCloud--注册中心Eureka

    Eureka的服务治理设计中,所有节点即是服务提供方,也是服务消费方. Eureka Server的高可用:就是将自己作为服务向其他服务注册中心注册自己,形成一组互相注册的服务注册中心,实现服务清单的 ...

  5. ACME[free https] Linux中使用curl命令访问https站点4种常见错误和解决方法

    free https certification generator https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E 每一种客户 ...

  6. smp,numa,mpp,umam,olap,dss,oltp,greenplum,presto

    SMP.NUMA.MPP体系结构介绍 从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 ( ...

  7. 策略(strategy)模式

    Head First一书中对于策略(strategy)模式的正式定义是:策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户. 为了介绍这个算法,书中讲了 ...

  8. 程序猿Web面试之jQuery

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/powertoolsteam/article/details/32325013  又到了一年一度的 ...

  9. 模块讲解----random模块(随机取值)

    导入random模块 import random #查看random的帮助: # help(random) #随机浮点数: #用于生成一个0到1的0 >= n < 1.0的范围值 prin ...

  10. media query媒体查询

    媒体查询(CSS3 media query) 一.逻辑操作符:not.and.only not:not操作符用来对一条媒体查询的结果取反. and:and操作符用来把多个媒体属性组合起来,合并到同一条 ...