hadoop随手笔记
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随手笔记的更多相关文章
- Hadoop阅读笔记(一)——强大的MapReduce
前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- JS SDK 随手笔记
JS SDK 随手笔记 窗口模块 Frame/Multi Frame 对话框 页面间的通讯 生命周期 窗口层叠 窗口模块 窗口模块是是AppCan移动应用界面最基本的单位.窗口是每个界面布局的基础,他 ...
- Hadoop阅读笔记(七)——代理模式
关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...
- Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...
- Hadoop阅读笔记(五)——重返Hadoop目录结构
常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...
- Hadoop阅读笔记(四)——一幅图看透MapReduce机制
时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...
- Hadoop阅读笔记(三)——深入MapReduce排序和单表连接
继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算 ...
- Hadoop阅读笔记(二)——利用MapReduce求平均数和去重
前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...
随机推荐
- 160321、ORACLE分页查询SQL语法——最高效的分页
--1:无ORDER BY排序的写法.(效率最高) --(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELE ...
- 一百本英文原著之旅 ( 15 finished )
记得去年毕业的时候,突然想看英文原著(小说.文学.技术 etc.)来提高自己的英文水平.并且那时候愣愣的有了个宏伟的目标 --> 一百本. 不过也就去年下半年断断续续的看了些页数在200左右的 ...
- Servlet------>jsp自定义标签4(重复标签体)
4.控制标签体内容执行五次(tld中的配置,和jsp我就省略了,详细请看jsp自定义标签1)这里这个方法是继承了tag接口的实现类,这个实现类里不只实现了tag接口,还有tag接口的子接口,也就是It ...
- TCP控制位 sendUrgentData 队列 队列元素 优先级 极限 急停 置顶
Socket (Java Platform SE 7 ) https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#sendUrge ...
- zipline风险指标计算 (empyrical模块)
概述 量化中,我们经常会遇到各种量化指标的计算,对于zipline来说,也会对这部分计算进行处理,由于指标计算的通用性比较强,所以,zipline单独封装了 empyrical 这个模块,可以处理类似 ...
- 手游包压缩技术引领手游行业实现app页游化
近些年,掌上游戏时代已经成为全民风尚,但身为游戏开发商考虑过手游安装包大小与用户转化率之间的关系吗? 随着手机游戏市场发展愈发壮大,行业发展愈加成熟,手游厂商愈来愈多,手游产业也进入了优胜劣汰的环节, ...
- MYSQL--表分区、查看分区(转)
一. mysql分区简介 数据库分区 数据库分区是一种物理数据库设计技术.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间, ...
- 【pentaho】【kettle】【Data Integration】试用
要做数据分析,领导让研究一下kettle. 先占个坑. 这里有个3.0的文档: http://wenku.baidu.com/link?url=hvw_cOBIXLXSGvftkGhXQic3CLC7 ...
- (转)Unity3d的3种截图方法
下面是我总结的.在u3d中的,三种截屏方法: 1.使用Application类下的CaptureScreenshot方法. void CaptureScreen() { Application.Cap ...
- 前端 javascript 数据类型 数字
1.数字(Number) JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示. 转换: parseInt(..) 将某值转换成数字,不成功则NaN pa ...