master、slave1),使用以下命令永久生效:hostnamectl set-hostname <主机名>/etc/sysconfig/network-scripts/ifcfg-eth0,Ubuntu 18.04+为/etc/netplan/*.yaml),设置静态IP、子网掩码、网关和DNS:TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100 # 替换为实际IP
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes # 开机自启
重启网络服务使配置生效:systemctl restart network(CentOS)或netplan apply(Ubuntu)。/etc/hosts文件,添加集群内所有节点的IP地址与主机名映射(避免依赖DNS):192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
保存后,可通过ping <主机名>验证解析是否生效。master节点(或其他管理节点)执行以下命令,生成RSA密钥对(默认保存到~/.ssh/id_rsa):ssh-keygen -t rsa -P ''(-P ''表示空密码,简化操作)。master节点的公钥复制到所有节点的~/.ssh/authorized_keys文件中(实现无密码登录):ssh-copy-id master(本机)、ssh-copy-id slave1、ssh-copy-id slave2。ssh slave1,若无需输入密码则配置成功。Hadoop的网络配置主要通过$HADOOP_HOME/etc/hadoop目录下的XML文件完成,关键配置如下:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> <!-- NameNode的RPC地址 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value> <!-- 临时目录,需提前创建并授权 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 副本数,生产环境建议≥3,测试环境可设为1 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/dfs/name</value> <!-- NameNode元数据存储路径 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/dfs/data</value> <!-- DataNode数据存储路径 -->
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value> <!-- ResourceManager所在节点 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!-- MapReduce Shuffle服务 -->
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
mapred-site.xml.template复制):指定MapReduce运行框架为YARN:<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
所有配置修改后,需同步到集群所有节点。$HADOOP_HOME/etc/hadoop/slaves文件,添加所有DataNode和NodeManager节点的主机名(每行一个):slave1
slave2
该文件用于Hadoop启动时自动分发任务和管理节点。systemctl stop firewalld # CentOS
systemctl disable firewalld
# 或 Ubuntu(ufw)
ufw disable
setenforce 0(临时关闭),并编辑/etc/selinux/config将SELINUX=enforcing改为disabled(永久关闭)。hdfs namenode -format(注意:格式化会清除HDFS原有数据,谨慎操作)。start-dfs.sh(启动NameNode、DataNode等HDFS组件)、start-yarn.sh(启动ResourceManager、NodeManager等YARN组件)。jps命令查看各节点进程(master节点应有NameNode、ResourceManager;slave节点应有DataNode、NodeManager)。http://master:50070)、YARN(http://master:8088),确认集群状态正常。通过以上步骤,可完成Hadoop在Linux环境中的网络配置,确保集群节点间通信正常,为后续大数据处理任务奠定基础。