一、基础网络环境配置
设置静态IP地址
为确保集群节点IP稳定,需将Linux系统的网络接口配置为静态IP。根据Linux发行版差异,编辑对应配置文件:
/etc/sysconfig/network-scripts/ifcfg-ens33(接口名以ip a命令为准),添加以下内容:TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100 # 集群节点IP(如master为192.168.1.100,slave1为192.168.1.101)
NETMASK=255.255.255.0
GATEWAY=192.168.1.1 # 网关地址
DNS1=8.8.8.8 # DNS服务器
ONBOOT=yes # 开机自启
netplan,编辑/etc/netplan/01-netcfg.yaml,示例如下:network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
保存后重启网络服务:systemctl restart network(CentOS)或netplan apply(Debian/Ubuntu)。
配置主机名与hosts映射
hostnamectl set-hostname <主机名>(如master节点执行hostnamectl set-hostname master),然后重启系统或执行hostname命令使变更生效。/etc/hosts文件中添加IP与主机名的映射,确保节点间可通过主机名互相访问:192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
```。
二、SSH免密码登录配置 Hadoop集群节点间需频繁通信(如NameNode与DataNode、ResourceManager与NodeManager),配置SSH免密码登录可避免重复输入密码。
ssh-keygen -t rsa,按提示回车(默认保存路径为~/.ssh/id_rsa,无需设置密码)。ssh-copy-id master(本机),再执行ssh-copy-id slave1、ssh-copy-id slave2(将公钥复制到各从节点),实现master到所有节点的无密码登录。ssh master、ssh slave1,若无需密码即可登录,则配置成功。三、Hadoop核心网络配置文件 Hadoop的网络行为主要由以下配置文件控制,需根据集群规模调整参数:
<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>mapreduce.framework.name</name>
<value>yarn</value> <!-- MapReduce运行在YARN上 -->
</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> <!-- Shuffle服务 -->
</property>
</configuration>
slave1
slave2
```。
四、网络安全配置
systemctl stop firewalld(CentOS)或systemctl stop ufw(Ubuntu);永久关闭:systemctl disable firewalld。setenforce 0;永久关闭:编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled。五、验证网络配置
ping slave1、ping slave2,若能收到回复则节点间网络连通。ssh slave1,若无需密码即可进入从节点,则SSH配置成功。hdfs namenode -format(首次启动需执行,删除旧元数据)。start-dfs.sh(启动HDFS)、start-yarn.sh(启动YARN)。jps,应看到NameNode、ResourceManager等进程;在slave节点执行jps,应看到DataNode、NodeManager等进程。http://master:50070(HDFS Web界面)、http://master:8088(YARN Web界面),确认集群状态正常。