`

Hadoop实战-中高级部分 之 Hadoop作业调优参数调整及原理

 
阅读更多

 

 

Hadoop实战-中高级部分 之 Hadoop作业调优参数调整及原理

第一部分:core-site.xml
•core-site.xml为Hadoop的核心属性文件,参数为Hadoop的核心功能,独立于HDFS与MapReduce。
参数列表
•fs.default.name
•默认值 file:///
•说明:设置Hadoop  namenode的hostname及port,预设是Standalone mode,如果是伪分布式文件系统要设置成
     hdfs://localhost:9000,如果使用集群模式则配置为 hdfs://hostname:9000
•hadoop.tmp.dir
•默认值/tmp/hadoop-${user.name}
•会在tmp下根据username生成不同的目录
 
•fs.checkpoint.dir
•默认值${hadoop.tmp.dir}/dfs/namesecondary
•Sencondary NameNode 镜像存储目录
•fs.checkpoint.period
•默认值: 3600(秒)
• 控 制 secondary namenode 的 checkpoint 时间间隔。如果距离上次 checkpoint 的时间大于这个参数的设定,就会触发 checkpoint。secondary namenode 會把 namenode 的 fsimage 和 editlog 做 snapshot。如果存取 Hadoop 的次数频繁或为了減少重起 namenode 的 downtime,可以把這个值设小一点。
 
•fs.checkpoint.size
•默认值67108864(byte)
• 如果 Hadoop 非常的忙碌,editlog 可能会在短时间內变的很大,fs.checkpoint.period 的设定不见得可以完全预测这个状况,所以保险的做法会多设定这个值,以保证当数据大到超过 fs.checkpoint.size 的值也会触发 checkpoint。
•io.file.buffer.size
•默认值 4096
•這是读写 sequence file 的 buffer size, 可减少 I/O 次数。在大型的 Hadoop cluster,建议可设定为 65536 到 131072。
 
•ipc.client.connection.maxidletime
•默认值 10000(毫秒)
•设定 Hadoop client 连接時最大的闲置,默认是是 10 秒。如果 Hadoop cluster 的网络联系不稳,可以把这个值设到 60000(60秒)
•ipc.server.tcpnodelay
•默认值 false
•在 Hadoop server 是否启动 Nagle’s 算法。设 true 会 disable 这个演算法,关掉会减少延迟,但是会增加小数据包的传输。server site 不太需要这定这个值。
 
•hadoop.security.authorization
•默认值 false
• 是不是要开启 账号验证机制,开启之后 Hadoop 在执行任何动作之前都会先确认是否有权限。详細的权限设定会放在 hadoop-policy.xml 裡。例如要让 fenriswolf 这个 account 及 mapreduce group 可以 submit M/R jobs,要设定security.job.submission.protocol.acl
•hadoop.security.authentication
•默认值 simple
• simple 表示沒有 authentication,Hadoop 會用 system account 及 group 來控管q权限。另外可以指定為   kerberos  , 这部分相对比較复杂,要有一個 kerberos server 并产生 account keytab,在执行任何操作前 client 要先用 kinit 指令對 kerberos server 認證,之後的任何操作都是以 kerberos account 來執行。
 
•fs.trash.interval
•默认值 0(分)
•清掉垃圾筒的时间。预设是不清, 所以在刪除文件时要自己执行
•hadoop.native.lib
•默认值 true
• 默认 Hadoop 会去找所有可用的 native libraries 并自动 load 进來使用,例如压缩类的 libraries 像 GZIP, LZO 等等。
 
 
第二部分:hdfs-site.xml
参数列表
•dfs.block.size
•默认值67108864(字节)
•默认每個 block 是 64MB。如果確定存取的文件块都很大可以改為 134217728(128MB)。Client 也可自行决定要使用的 block size 而不需要更改整個 cluster 的设定。
•dfs.safemode.threshold.pct
•默认值  0.999f
•  Hadoop 启动时会进入 safe mode,也就是安全模式,這时是不能写入数据的。只有当99.9% 的 blocks 达到最小的 dfs.replication.min 数量(默认是3)才会离开safe mode。在 dfs.replication.min 设的比较大或 data nodes 数量比较多时会等比较久。
 
•dfs.namenode.handler.count
•默认值 10
• 设定 namenode server threads 的数量,这些 threads 會用 RPC 跟其他的 datanodes 沟通。当 datanodes 数量太多时会发現很容易出現 RPC timeout,解決方法是提升网络速度或提高这个值,但要注意的是 thread 数量多也表示 namenode 消耗的内存也随着增加
•dfs.datanode.handler.count
•默认值  3
•  指定 data node 上用的 thread 数量。
 
•dfs.datanode.max.xcievers
•默认值 256
•这个值是指定 datanode 可同時处理的最大文件数量、
•dfs.datanode.du.reserved
•默认值 0
•默认值表示 data nodes 会使用整个 磁盘,写满之后会导致无法再写入 M/R jobs。如果还有其他程式共用这些目录也会受到影响。建议保留至少 1073741824(1G) 的空间。
 
 
第三部分:mapred-site.xml
参数列表
 
•io.sort.mb
•默认值100
•缓存map中间结果的buffer大小(in MB)
•io.sort.record.percent
•默认值 0.05
•io.sort.mb中用来保存map output记录边界的百分比,其他缓存用来保存数据
•io.sort.spill.percent
•默认值0.80
•map开始做spill操作的阈值
•io.sort.factor
•默认值 10
•做merge操作时同时操作的stream数上限。
 
•min.num.spill.for.combine
•默认值3
•combiner函数运行的最小spill数
•mapred.compress.map.output
•默认值 false
•map中间结果是否采用压缩
•mapred.map.output.compression.codec
•org.apache.hadoop.io.compress.DefaultCodec
•min.num.spill.for.combine
•默认值3
•combiner函数运行的最小spill数
•mapred.compress.map.output
•默认值 false
•map中间结果是否采用压缩
•mapred.map.output.compression.codec
•org.apache.hadoop.io.compress.DefaultCodec
•mapred.reduce.parallel.copies
•默认值5
•每个reduce并行下载map结果的最大线程数
•mapred.reduce.copy.backoff
•默认值 300
•reduce下载线程最大等待时间(in sec)
•io.sort.factor
•默认值10
•org.apache.hadoop.io.compress.DefaultCodec
•mapred.job.shuffle.input.buffer.percent
•默认值0.7
•用来缓存shuffle数据的reduce task heap百分比
•mapred.job.shuffle.merge.percent
•默认值 0.66
•缓存的内存中多少百分比后开始做merge操作
•mapred.job.reduce.input.buffer.percent
•默认值0.0
•sort完成后reduce计算阶段用来缓存数据的百分比
 转载请注明出处【   http://sishuok.com/forum/blogPost/list/0/5938.html  】
10
0
分享到:
评论

相关推荐

    Hadoop Real-World Solutions Cookbook 源代码

    7. **Chap 8 - Hadoop优化与故障排除**:这部分内容可能涉及Hadoop集群的性能调优,如调整配置参数,以及如何诊断和解决常见的运行时问题。 8. **Chap 10 - 大数据可视化与报告**:可能介绍了如何将Hadoop处理的...

    《实战Hadoop--开启通向云计算的捷径》源码

    6. **性能优化**:如何调优Hadoop集群的性能,包括数据本地性、资源调度策略、JVM参数调整等。 7. **故障排查与恢复**:介绍Hadoop系统中的错误类型,以及如何定位和解决问题,确保集群稳定运行。 通过这本书的...

    Hadoop大数据开发与性能调优实战培训课程-Hadoop组件详解.rar

    本课程“Hadoop大数据开发与性能调优实战培训课程-Hadoop组件详解”旨在深入探讨Hadoop的主要组件及其优化策略,帮助开发者和数据工程师提升在大数据环境中的实践能力。 首先,我们要了解Hadoop的基础架构,它主要...

    学习hadoop--java零基础学习hadoop手册

    #### 一、Hadoop简介及Java基础知识 **标题**:“学习hadoop--java零基础学习hadoop手册” **描述**:“学习hadoop--java零基础学习hadoop手册” 本手册旨在为完全没有Java基础的学习者提供一个从零开始学习Hadoop...

    1Hadoop高级应用实战

    在《1Hadoop高级应用实战》这一主题中,我们将深入探讨Hadoop生态系统中的高级技术和实践方法,这对于Hadoop开发者来说是一份极其宝贵的资源。Hadoop是大数据处理领域的一个核心组件,它提供了分布式存储(HDFS)和...

    hadoop经典实战教程

    #### 五、Hadoop实战案例分析 - **案例1:WordCount程序**:实现最经典的Hadoop示例程序——词频统计,介绍如何编写MapReduce程序来处理文本文件中的单词计数问题。 - **案例2:日志分析**:利用Hadoop对网站的日志...

    Hadoop Real World Solutions Cookbook - Second Edition

    8. **Hadoop性能优化**:书中还会涉及如何对Hadoop集群进行调优,包括硬件配置、数据分布策略、MapReduce参数调整等,以提高数据处理速度和资源利用率。 9. **大数据应用案例**:通过一系列真实的案例,例如日志...

    4703031《Hadoop大数据处理实战》(康开锋)423-1资源包.rar

    8. **Hadoop优化**:包括MapReduce性能调优、HDFS参数调整、JobTracker和TaskTracker的优化等,以提高数据处理效率。 9. **案例分析**:书中可能包含各种实际案例,如日志分析、推荐系统、社交网络分析等,通过这些...

    Hadoop应用开发与案例实战(慕课版)-课件PPT.rar

    高级主题可能涉及Hadoop的优化、性能调优、YARN的资源管理策略,以及Hadoop与其他大数据技术(如Spark)的集成。 8. 实践项目: 学习者可能会被引导完成一个完整的Hadoop项目,从数据获取、数据处理到结果分析,...

    Hadoop权威指南-最新中文版

    书中的实战部分,会介绍如何部署和管理Hadoop集群,包括硬件配置、网络规划、安全设置等。还会讲解数据的导入导出、故障排查、性能调优等操作,帮助读者在实际环境中运用Hadoop。 除此之外,书中也会涉及Hadoop与...

    hadoop开发案例hadoop视频教程-GreenplumHadoop大数据应用案例剖析.doc

    《Hadoop开发案例Hadoop视频教程-Greenplum Hadoop大数据应用案例剖析》是一门针对高级程序员设计的深度课程,旨在帮助学员掌握大数据处理的核心技术,特别是Greenplum和Hadoop的结合应用。课程由拥有丰富实战经验的...

    Hadoop高级编程之构建与实现大数据解决方案

    在提供的“Hadoop高级编程之构建与实现大数据解决方案.pdf”文件中,你将详细了解到以上所述的各个方面,包括理论知识、实践操作和示例代码。通过深入学习这份资料,你将能够熟练掌握Hadoop高级编程技巧,为构建和...

    hadoop高级应用五

    9. Hadoop实战案例分析 【Hadoop高级应用实战五.exe】可能是一个模拟实战环境或教学工具,供学习者在实际操作中掌握上述理论知识,并应用于具体项目中,以提升Hadoop应用技能。 总的来说,Hadoop高级应用五涵盖了...

    Hadoop权威指南(中文版-带目录索引)

    9. **性能优化**:探讨如何调整Hadoop参数以提升系统性能,包括数据块大小的设定、内存分配、网络调优等。 10. **故障诊断与处理**:提供解决Hadoop运行中可能出现的问题的方法,帮助用户进行故障排查。 通过阅读...

    Hadoop权威指南(中文版).pdf

    四、Hadoop实战 1. 数据加载:通过Hadoop的工具如Hadoop Streaming或自定义Mapper/Reducer,将数据导入HDFS。 2. 数据处理:利用MapReduce编写程序,处理HDFS上的数据,例如数据分析、挖掘、清洗等。 3. 数据查询...

    Hadoop大数据常见面试题库

    - 性能调优:如数据块大小设置、内存分配、作业调度策略等。 - 故障恢复:NameNode高可用、数据节点故障检测及恢复。 7. **Hadoop应用案例**: - 在推荐系统中的应用:利用MapReduce进行用户行为分析,构建个性...

    《Python+Spark2.0+Hadoop机器学习与大数据实战》练习.zip

    《Python+Spark2.0+Hadoop机器学习与大数据实战》是一本深入探讨大数据处理和机器学习技术的书籍。在本书的练习部分,作者通过实际案例帮助读者掌握Python、Spark 2.0以及Hadoop的核心概念和技术。这些技术是当前大...

    Python+Spark 2.0+Hadoop机器学习与大数据

    8. 高级主题,如Spark的性能调优、容错机制和资源管理。 这本书对于想要掌握大数据处理和机器学习技术的开发者、数据科学家或数据工程师来说,是一份宝贵的参考资料。通过学习,读者不仅可以理解这些技术的基本概念...

    hadoop视频

    3. **性能调优**:了解如何优化Hadoop集群的性能,包括调整HDFS和MapReduce参数,以及使用YARN进行资源调度。 4. **数据处理框架**:除了MapReduce,还应该熟悉Hadoop生态系统中的其他数据处理框架,如Spark和Flink...

    hadoop高级应用六

    【Hadoop实战应用】 “Hadoop高级应用实战六.exe”可能包含的是关于如何在实际项目中运用上述组件的案例研究或实践指南。这可能涵盖了数据清洗、数据分析、实时处理、ETL(提取、转换、加载)流程、大数据应用开发等...

Global site tag (gtag.js) - Google Analytics