在 Debian 上部署和调优 Hadoop,通常从系统层、HDFS、YARN、MapReduce、JVM、网络与磁盘几个维度入手。下面给你一份实用向的 Hadoop 调优清单(适用于 Debian 10/11/12 + Hadoop 3.x)。
# 文件句柄
fs.file-max = 1000000
# TCP 优化
net.core.somaxconn = 4096
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
# 虚拟内存(Hadoop 建议)
vm.swappiness = 10
vm.overcommit_memory = 1
sysctl -p
/etc/security/limits.conf
hadoop soft nofile 1000000
hadoop hard nofile 1000000
hadoop soft nproc 65535
hadoop hard nproc 65535
systemctl disable --now bluetooth
systemctl disable --now cups
echo none > /sys/block/sda/queue/scheduler
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value> <!-- 256MB -->
</property>
<property>
<name>dfs.datanode.handler.count</name>
<value>20</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>40</value>
</property>
dfs.datanode.data.dir 使用逗号分隔多目录<property>
<name>dfs.datanode.data.dir</name>
<value>/data1/dfs,/data2/dfs,/data3/dfs</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>61440</value> <!-- 64G 机器示例 -->
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>16</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>57344</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
yarn.resourcemanager.scheduler.class=
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>4096</value>
</property>
<property>
<name>mapreduce.task.io.sort.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1600m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx3200m</value>
</property>
export HADOOP_OPTS="-XX:+UseG1GC -XX:MaxGCPauseMillis=200"
export HADOOP_NAMENODE_OPTS="-Xmx8g"
export HADOOP_DATANODE_OPTS="-Xmx4g"
ufw allow 8020
ufw allow 9000
ufw allow 50010
# 查看 YARN 资源
yarn node -list
# 查看 HDFS 状态
hdfs dfsadmin -report
# GC 问题
jstat -gcutil <pid> 1000
如果你愿意,可以告诉我:
我可以给你一套针对你环境的参数模板。