Debian Hadoop性能调优方法
一 操作系统与JVM基础
二 HDFS关键参数
三 YARN与MapReduce调优
四 监控 压测 与扩展
五 快速检查清单
| 优化项 | 关键参数/动作 | 建议值或做法 |
|---|---|---|
| 文件描述符与网络 | limits.conf、sysctl | 提高 nofile/nproc、fs.file-max、net.core.somaxconn |
| 存储与网络 | 硬件选型 | SSD、10Gbps+ 网络 |
| 目录与磁盘 | dfs.datanode.data.dir、hadoop.tmp.dir、dfs.datanode.du.reserved | 多盘并行、高速盘、预留 5–10GB |
| 回收站 | fs.trash.interval | 4–7天(如10080) |
| 并发与I/O | dfs.namenode.handler.count、dfs.datanode.handler.count、dfs.datanode.max.transfer.threads | 适度增大以匹配并发 |
| 块大小 | dfs.blocksize | 128MB/256MB(按访问模式) |
| 副本与均衡 | dfs.replication、hdfs balancer、dfs.datanode.balance.bandwidthPerSec | 默认 3;均衡带宽适度增大 |
| 客户端缓冲 | io.file.buffer.size | 128KB |
| YARN资源 | yarn.nodemanager.resource.memory-mb、yarn.scheduler.min/max-allocation-mb | 最大容器≈节点内存 80% |
| 调度器 | yarn.resourcemanager.scheduler.class | Capacity/Fair Scheduler 按场景选择 |
| Shuffle与排序 | mapreduce.map.output.compress、mapreduce.reduce.shuffle.parallelcopies、mapreduce.task.io.sort.* | 开启压缩、提升并行与排序内存 |
| 小文件 | CombineTextInputFormat、合并 | 降低Map数与元数据压力 |
| 监控压测 | TestDFSIO、Ganglia/Nagios/Ambari/Grafana | 建立基线、持续观测与调优 |