【大数据面试】【框架】Hadoop-入门、HDFS

本文详细介绍了Hadoop中HDFS的常见端口及其用途,如50070用于查看HDFSWeb-UI,8088查看MapReduce运行情况等。此外,探讨了HDFS的读写流程,从Client到NameNode再到DataNode。针对HDFS小文件问题,分析了其带来的内存和分片影响,并提出解决方案,如使用har归档和CombineInputFormat进行文件聚合。同时,文章提到了MapReduce和Yarn的相关内容。

一、入门

1、常用端口号

2.x

50070:查看HDFS Web-UI

8088:查看MapReduce运行情况

19888:历史服务器

9000:hdfs客户端访问集群

50090:SecondaryNameNode

3.x:

50070-->9870

9000-->8020

3、Hadoop的8个配置文件(-site.xml、sh)

4个组成模块(common、hdfs、yarn、MapReduce)

common-site.xml   hdfs-site.xml   yarn-site.xml  mapred-site.xml

hadoop-env.sh    yarn-env.sh    mapred-env.sh    slaves(不能有空行、不能有空格)

二、HDFS

1、HDFS的读写流程(笔试题)

Client-->NameNode(元数据)-->DataNode

https://www.cnblogs.com/laowangc/p/8949850.html

2、HDFS的小文件问题

1)小文件过多会带来哪些问题(会产生哪些影响)

  • NameNode内存:一个文件块占用namenode的内存大小为150个字节

(压缩前:一亿个小文件,就是一亿个*150个字节)

(压缩后:压缩成一个文件,即1*150字节)

(压缩方式:har归档到一个文件内《用的比较多》、自定义InputFormat,把数据放置sequenceFile中取)

【128G的nameNode能存储多少个文件块?==》128G/150字节=128*1024*1024*1024(byte)/150≈9亿】

  • 影响分片==>影响Map Tsak的个数

(默认一个文件一个切片)

(方式1:企业采用har归档,将小文件归档,或自定义InputFormat,把数据放入sequenceFile内部)

(方式2:采用CombineInputFormat先对文件聚合,聚合后再对文件切片)

  • 进程负载过高

解决:采用JVM重用

开始-执行任务-结束-开始-执行任务-结束==》开始-执行任务-执行任务-执行任务-执行任务-结束

如果没有小文件场景,就不要开启小文件,不然会锁死线程

(配置文件set JVM=true)

三、MapReduce

四、Yarn

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值