千家信息网

hadoop层面性能如何调优

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"hadoop层面性能如何调优",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"hadoop层面性能如何调优"这篇文章吧。hadoop
千家信息网最后更新 2026年11月01日hadoop层面性能如何调优

这篇文章主要为大家展示了"hadoop层面性能如何调优",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"hadoop层面性能如何调优"这篇文章吧。

hadoop 层面性能调优

1. 守护进行内存调优

a)NameNode 和 DataNode 内存调整在 hadoop-env.sh 文件中

NameNode: ExportHADOOP_NAMENODE_OPTS="-Xmx512m-Xms512m -Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS"

DataNode:

export HADOOP_DATANODE_OPTS="-Xmx256m -Xms256m -Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS"

-Xmx -Xms 这两个参数一般保持一致,以避免每次垃圾回收完成后 JVM 重新分配内存。

b)REsourceManager 和 NodeManager 内存调整在 yarn-env.sh 文件中

REsourceManager:

export YARN_RESOURCEMANAGER_HEAPSIZE=1000 默认 export YARN_RESOURCEMANAGER_OPTS="..........."可以覆盖上面的值

NodeManager:

export YARN_NODEMANAGER_HEAPSIZE=1000 默认export YARN_NODEMANAGER_OPTS="";可以覆盖上面的值

常驻内存经验配置:

namenode:16G

datanode:2-4G

ResourceManager:4G
NodeManager:2G

Zookeeper:4G

Hive Server:2G

2. mr中间目录要配置多个,分散IO 压力

http://hadoop.apache.org/docs/r2.6.0/

配置文件yarn-default.xml 分散 IO 压力

yarn.nodemanager.local-dirs

yarn.nodemanager.log-dirs

配置文件 mapred-default.xml:

mapreduce.cluster.local.dir

配置文件 hdfs-default.xml:提高可靠性

dfs.namenode.name.dir
dfs.namenode.edits.dir

dfs.datanode.data.dir

3. mr中间结果要压缩

a)配置 mapred-site.xml 文件中配置

mapreduce.map.output.compress

true

mapreduce.map.output.compress.codec

org.apache.hadoop.io.compress.SnappyCodec


程序运行时指定参数 hadoop jar /home/hadoop/tv/tv.jar MediaIndex -Dmapreduce.compress.map.output=true -Dmapreduce.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec /tvdata /media

b)使用合理的压缩算法(cpu 和磁盘) cpu:如果是 cpu 的瓶颈,可以更换速度快的压缩算法 磁盘:如果是磁盘的瓶颈,可以更换压缩力度大的压缩算法 一般情况我们使用 snappy 压缩,比较均衡 lzo

4. hdfs文件系统中避免,大量小文件存在

5. 根据具体情况,在 Map 节点使用 Combiner,减少输出结果


6. 重用 Writable 类型

比如 声明一个对象 Text word = new Text(); map(),reduce()方法里面重用

7. 根据集群节点具体情况,调整 task 的并行度

设置 map 和 reduce 最大任务个数:

mapreduce.tasktracker.map.tasks.maximum

mapreduce.tasktracker.reduce.tasks.maximum

配置文件 mapred-default.xml:

设置 map 和 reduce 单个任务内存大小:

mapreduce.map.memory.mb 1G 默认

mapreduce.reduce.memory.mb 1G 默认

8. 要有效的监控手段(使用nmon,条件允许会部署ganglia搜集各种指标,分析指标发现瓶颈,然后指定措施)

硬件层面性能调优:

机架分开,节点均匀放置

操作系统层面性能调优:

多个网卡:多网卡绑定,做负载均衡或者主备

磁盘:多个磁盘挂载到不同目录下,存放数据做计算的磁盘不要做 raid

集群规划:

集群节点内存分配:

比如一个数据节点,假如 task 并行度为 8 DataNode(2~4G)+ NodeManager(2G)+Zookeeper(4G)+1G(单个任务默认大小)*8=16G~18G


集群规模: 假如 每天数据 1T 数据保存一个月,每个节点硬盘 2T 1T*3(副本)*30(天)=90T=n*2T*(60~70%) n=60 节点左右 企业中数据保留 7 天 15 天比较常见,数据比较重要的话 1 个月

以上是"hadoop层面性能如何调优"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 配置 内存 节点 层面 性能 数据 磁盘 集群 任务 内容 多个 情况 瓶颈 算法 篇文章 调整 均衡 单个 压力 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 上海挚品互联网科技有限公司 科技创新与互联网经济 互联网与科技金融数据 奇酷互联网科技公司 互联网科技的英文 九亚互联网科技 兼蜜互联网科技 齐家互联网科技有限公司 重庆威客帮互联网科技 互联网时代科技改变生活 港股科技和互联网 坤平互联网科技 互联网科技的全部知识 山东子淼互联网科技有限公司 浙南科技城互联网大厦招聘 艺电能源互联网科技有限公司招聘 北京品多多互联网科技有限公司 东风日产互联网科技公司叫什么 株洲百竞科技的互联网营销顾问 互联网科技工作委员会副主任毛军 互联网科技的发展 中国互联网科技发展 互联网科技创新服务 湖北码尼互联网科技有限公司电话 荆州市昕露互联网络科技有限公司 江阴互联网智能科技产品进口 洛阳共同富裕互联网科技有限公司 每天都有哪些好的互联网科技 深圳无忧互联网科技
0