一级a视网站 做爰片,76人vs猛龙,wordpress这,网站建设 验证码1、谈谈对HDFS的理解#xff1f;HDFS这种存储适合哪些场景#xff1f;
HDFS即Hadoop Distributed File System#xff0c;Hadoop 分布式文件系统。它为的是解决海量数据的存储与分析的问题#xff0c;它本身是源于Google在大数据方面的论文#xff0c;GFS--HDFS;
HD…1、谈谈对HDFS的理解HDFS这种存储适合哪些场景
HDFS即Hadoop Distributed File SystemHadoop 分布式文件系统。它为的是解决海量数据的存储与分析的问题它本身是源于Google在大数据方面的论文GFS--HDFS;
HDFS由Client、NameNode、DataNode、Secondary NameNode组成Client负责响应用户的各种请求比如上传、下载等NameNode负责存储HDFS的元数据和处理用户的读写请求比如数据块存储在DataNode的哪个地方DataNode负责存储实际的数据块和数据的读写功能Secondary NameNode主要是辅助NameNode分担其工作量定期合并fsimage和fsedits推送给NameNode在紧急情况下可辅助恢复NameNode。
适合场景
低成本Hadoop不需要特别贵的机器可运行于普通廉价机器所以比较节约成本。
高容错适合存储需要高容错性的文件存储文件安全HDFS高可用和高容错性体现之一就是block的副本机制和主备思想
大数据这里非常大指的是几百GB、TB、或者PB级别需要高吞吐量对数据读写延时没有要求。
高吞吐扩展能力强集群可以很快速拓展到很大规模满足存放海量数据这里一般是指PB,EB级别。 单次写入多次读取适合一次写入、多次读取既适合数据分析场景适合OLAP场景。但是数据读写延迟高以及不支持单条update不适合那些对数据访问毫秒级低延迟的应用。 2、HDFS小文件问题
定义
数据大小远小于默认数据块大小文件。
原因
hadoop设计之初是为了OLAP用的后来越来越多的人希望hadoop能朝着OLTP的方向发展并产生了很多工具例如spark,flink等。实时性要求越高小文件就会越多。当然这也跟量也有关系量越大小文件越少小文件问题越小。
影响
存储层面因为元数据存储于内存当中大量小文件占用大量内存。
计算层面每个小文件都会起一个MapTask1个MapTask默认内存1G。浪费资源。
解决方式
入库前数据采集或标准入库之前将小文件进行合并大文件再上传入库
存储Hadoop Archive归档–将多个小文件打包成一个HAR文件减少对NN内存的使用
计算方面CombineTextInputFormat用于将多个小文件在切片过程中生成一个单独的切片或者少量的切片
其他自己写一个MR程序将产生的小文件合并成一个大文件。如果是Hive或者Spark有merge功能自动帮助我们合并。有小文件场景开启JVM重用如果没有小文件不要开启JVM重用因为会一直占用使用到的Task卡槽直到任务完成才释放。JVM重用可以使得JVM实例在同一个job中重新使用N次N的值可以在Hadoop的mapred-site.xml文件中进行配置。通常在10-20之间