Ubuntu 下 Hadoop 网络参数配置指南
一 基础网络与主机名解析
network:
ethernets:
ens33:
dhcp4: false
addresses: [192.168.5.11/24]
routes:
- to: default
via: 192.168.5.2
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
sudo netplan applysudo hostnamectl set-hostname master(各节点分别设为 master/slave1/slave2)192.168.5.11 master
192.168.5.12 slave1
192.168.5.13 slave2
ping -c 3 master、ping -c 3 slave1,确保解析与连通正常。二 Hadoop 关键网络参数配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>ipc.client.connect.timeout</name>
<value>60000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.datanode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>4096</value>
</property>
<property>
<name>dfs.namenode.rpc-address</name>
<value>master:8020</value>
</property>
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:50010</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>true</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
slave1
slave2
三 Linux 系统网络参数优化
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.ip_local_port_range = 1024 65535
net.core.somaxconn = 65535
sudo sysctl -pulimit -n 65535* soft nofile 65535
* hard nofile 65535
四 防火墙与 SSH 免密
sudo firewall-cmd --permanent --zone=public --add-port=8020/tcp
sudo firewall-cmd --permanent --zone=public --add-port=50010/tcp
sudo firewall-cmd --permanent --zone=public --add-port=8032/tcp
sudo firewall-cmd --reload
ssh-keygen -t rsa -b 2048
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
五 启动与验证
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
hdfs namenode -formatstart-dfs.sh、start-yarn.shjps(应见到 NameNode/DataNode/ResourceManager/NodeManager)ss -lntp | grep -E '8020|50010|8032'hdfs dfsadmin -reportyarn node -list