尚硅谷大数据技术面试题复习1.6版

需积分: 5 0 下载量 54 浏览量 更新于2024-06-13 收藏 2.23MB PDF 举报
"06-大数据技术之面试题复习1.6带答案.pdf" 这篇文档是尚硅谷大数据技术的面试题复习材料,版本为V1.6,主要涵盖了大数据相关的面试重点,特别是针对Hadoop HDFS(分布式文件系统)的相关知识。以下是其中涉及到的重要知识点: 1. Linux常用命令: - `top`:用于实时监控系统资源,如CPU、内存等的使用情况。 - `jmap-heap`:查看Java进程的内存分配情况,对理解JVM内存管理有帮助。 - `free -m`:显示系统内存使用情况,包括总内存、已用内存、空闲内存等。 - `ps -ef | grep 进程`:查找并显示指定进程的信息。 - `netstat -tunlp | grep 端口`:查看指定端口被哪个进程占用。 - `df -h`:显示磁盘空间使用情况,包括各分区的总容量、已用空间、剩余空间等。 - `du -sh 路径*`:统计指定路径下所有文件和子目录的磁盘使用空间。 2. HDFS(Hadoop Distributed File System)读写流程: - 写入流程: - 客户端向NameNode请求上传文件。 - NameNode根据策略返回DataNode列表,客户端与这些DataNode建立连接。 - 数据以Block为单位分块传输,每个Block有多个副本。 - 副本的默认存储策略是:1个在本地节点,1个在其他机架的节点,1个在另一个机架的节点。 - 客户端将数据包Packet(通常是64KB)发送到DataNode,Packet包含校验和以确保数据完整性。 - 读取流程: - 客户端向NameNode询问文件位置信息,获取Block所在的DataNode列表。 - 客户端直接从最近或最快的DataNode读取数据。 3. HDFS小文件问题及其解决方案: - 小文件的危害: - 存储层面:每个文件在NameNode中占用内存,大量小文件可能导致NameNode内存压力过大。 - 计算层面:每个小文件都会启动一个MapTask,可能导致资源浪费。 - 解决方法: - 使用Har(Hadoop Archive)工具,将多个小文件打包成一个大文件。 - 使用Hadoop SequenceFile或Avro等格式,减少文件数量。 - 使用MapReduce的CombineFileInputFormat,将多个小文件合并为一个输入分片,减少MapTask数量。 - 使用HDFS的Erasure Coding特性,以更高效的方式存储小文件。 4. 面试题可能还会涵盖其他大数据技术,如HBase、Spark、Hive、YARN等,以及相关的概念、架构、优化策略等。 这份复习资料对于准备大数据面试的人来说非常有价值,它涵盖了实际工作中可能会遇到的问题和解决方案,有助于提升面试者的技术理解和应试能力。