目录

  • ​​hadoop 面试​​
  • ​​HDFS 小文件影响​​
  • ​​HDFS 解决方案​​

hadoop 面试

​​链接​​

HDFS 小文件影响

  1. 占用namenode的元数据内存
  2. mr中每个小文件会启动一个MapTask进行计算处理,而每个MapTask都会对应启动一个JVM进程,造成资源严重浪费

HDFS 解决方案

  1. 采用har归档,将多个小文件打包成一个har文件
  2. 读取小文件时,使用hadoop中提供的一种输入类ConbinFileInputFormat
  3. 有小文件场景开启JVM重用;如果没有小文件,不要开启JVM重用,因为会一直占用使用到的task卡槽,直到任务完成才释放
  4. 自定义Inputformat将小文件存储成SequenceFile文件
    sequence file由一系列的二进制key/value组成,如果为key小文件名,value为文件内容,则可以将大批小文件合并成一个大文件