Hadoop 参数调优及相关面试题

一、HDFS 参数调优 hdfs-site.xml

       NameNode 有一个工作线程池,用来处理不同 DataNode 的并发心跳以及客户端并发的元数据操作。对于大集群或者有大量客户端的集群来说,通常需要增大参数 dfs.namenode.handler.count 的默认值10。设置该值的一般原则是将其设置为集群大小的自然对数乘以20,即20logN,N为集群大小。

dfs.namenode.handler.count=20 * log2(Cluster Size),比如集群规模为8台时,此参数设置为60

二、YARN 参数调优 yarn-site.xml

面试题 1:

情景描述:总共 20 台机器,每天几亿条数据,数据流向:数据源 —> Flume —> Kafka —> HDFS —> Hive

面临问题:数据统计主要用 HQL ,没有数据倾斜,小文件已经做了合并处理,开启的 JVM 重用,而且 IO 没有阻塞,内存用了不到50%。但是还是跑的非常慢,而且数据量洪峰过来时,整个集群都会宕掉,基于这种情况有没有优化方案。

解决办法:内存利用率不够。这个一般是Yarn的2个配置造成的,单个任务可以申请的最大内存大小,和Hadoop单个节点可用内存大小。调节这两个参数能提高系统内存的利用率。

  • yarn.nodemanager.resource.memory-mb:表示该节点上YARN可使用的物理内存总量,默认是 8192(MB),注意,如果你的节点内存资源不够 8GB,则需要调减小这个值,而YARN不会智能的探测节点的物理内存总量。
  • yarn.scheduler.maximum-allocation-mb:单个任务可申请的最多物理内存量,默认是8192(MB)。

 

面试题 2:

Hadoop宕机

  • M造成系统宕机:此时要控制Yarn同时运行的任务数,和每个任务申请的最大内存。调整参数:yarn.scheduler.maximum-allocation-mb(单个任务可申请的最多物理内存量,默认是 8192MB)
  • 写入文件过量造成 NameNode 宕机:那么调高 Kafka 的存储大小,控制从 Kafka 到 HDFS 的写入速度。高峰期的时候用 Kafka进行缓存,高峰期过去数据同步会自动跟上。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些Hadoop面试题及答案: 1. 什么是HadoopHadoop是一个开源的分布式计算框架,可以处理大规模数据集。它是由Apache基金会开发的,使用MapReduce编程模型和Hadoop分布式文件系统(HDFS)来存储和处理数据。 2. 什么是MapReduce? MapReduce是一种编程模型,用于在分布式环境中进行大规模数据处理。它将输入数据分成若干块,并在多个计算节点上进行并行处理。MapReduce将数据映射为键值对,并将Map函数应用于每个键值对。然后,将生成的中间结果传递给Reduce函数,生成最终输出。 3. Hadoop有哪些组件? Hadoop包括以下组件: - Hadoop分布式文件系统(HDFS):用于存储大规模数据集的分布式文件系统。 - MapReduce:用于在分布式环境中并行处理大规模数据集的编程模型。 - YARN(Yet Another Resource Negotiator):用于管理集群资源,调度任务和监控应用程序的框架。 - HBase:一个分布式的NoSQL数据库,可用于存储大规模结构化数据。 - Pig:一种高级的数据流编程语言,用于在Hadoop上进行数据分析。 - Hive:一种基于SQL的数据仓库工具,可用于在Hadoop上进行数据查询和分析。 - Spark:一种基于内存的分布式计算框架,用于在Hadoop上进行数据处理和分析。 4. Hadoop中什么是块? 在Hadoop中,块是数据的基本单位。HDFS将大文件分成多个块,并将这些块存储在不同的计算节点上。默认情况下,块大小为128 MB。 5. 什么是NameNode和DataNode? NameNode是Hadoop分布式文件系统(HDFS)的主节点,用于管理文件系统的元数据。它维护了文件系统的命名空间和文件与块之间的映射关系。DataNode是存储实际数据块的节点。 6. 什么是Hadoop调度器? Hadoop调度器用于管理集群资源,并将任务分配给不同的计算节点。它决定哪些任务应该在哪个节点上运行,并确保每个节点都得到足够的资源来完成任务。 7. 什么是Hadoop压缩?如何进行压缩? Hadoop压缩是指将数据压缩为更小的存储大小,以便在Hadoop中更有效地存储和传输数据。Hadoop支持多种压缩算法,例如Gzip,Snappy和LZO。可以使用Hadoop提供的压缩库或使用自定义压缩程序来压缩数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值