一、网络接口基础配置
配置静态IP是HDFS集群节点稳定通信的前提,需编辑网络接口配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-<接口名>,如ifcfg-ens33)。关键参数设置如下:
DEVICE=<接口名>:指定网络接口(如ens33);BOOTPROTO=static:使用静态IP(区别于DHCP动态分配);IPADDR=<节点IP>:如192.168.1.100(集群内唯一);NETMASK=255.255.255.0:子网掩码(根据网络规划调整);GATEWAY=192.168.1.1:网关地址(同一网段的路由设备IP);DNS1=8.8.8.8、DNS2=8.8.4.4:DNS服务器(用于域名解析);ONBOOT=yes:系统启动时自动启用网络接口。二、重启网络服务使配置生效 修改配置文件后,需重启网络服务应用变更:
sudo systemctl restart network;sudo systemctl restart NetworkManager;sudo ifdown <接口名> && sudo ifup <接口名>(如sudo ifdown ens33 && sudo ifup ens33)。三、验证网络连通性
使用ping命令测试节点间网络是否畅通(如从NameNode测试DataNode):
ping <目标节点IP>
若能持续收到回复(如64 bytes from 192.168.1.101: icmp_seq=1 ttl=64 time=0.123 ms),说明网络连接正常;若失败,需检查IP配置、网关、DNS或物理链路。
四、配置Hadoop环境变量 HDFS作为Hadoop的核心组件,需正确设置环境变量以确保命令可用:
/etc/profile,添加以下内容(根据实际路径调整):export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk # Java安装路径
export HADOOP_HOME=/opt/hadoop # Hadoop安装目录
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 添加Hadoop命令到PATH
source /etc/profile。五、配置HDFS核心网络参数
HDFS的网络行为由core-site.xml和hdfs-site.xml两个配置文件决定:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://<namenode-host>:9000</value> <!-- NameNode的RPC地址,替换为实际主机名或IP -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop</value> <!-- Hadoop临时目录(需提前创建) -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 数据块副本数(根据集群规模调整,生产环境建议3) -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hdfs/namenode</value> <!-- NameNode元数据存储目录 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hdfs/datanode</value> <!-- DataNode数据存储目录 -->
</property>
</configuration>
注:目录路径需提前创建并赋予Hadoop用户权限(如chown -R hadoop:hadoop /data/hdfs)。六、配置SSH免密登录 HDFS集群中,NameNode需要与DataNode、SecondaryNameNode等进行无密码通信(如启动服务、同步元数据),需配置SSH免密登录:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 按回车键接受默认路径和空密码
ssh-copy-id <datanode-user>@<datanode-ip> # 如ssh-copy-id hadoop@192.168.1.101
ssh <datanode-ip>,若无需输入密码即可登录,则配置成功。七、启动HDFS并验证
hdfs namenode -format
start-dfs.sh # 在NameNode上执行,会自动启动所有DataNode
jps(应看到NameNode、DataNode等进程);http://<namenode-ip>:9870(Hadoop 3.x版本,默认端口9870),查看集群状态;hdfs dfs -ls /(列出HDFS根目录,若返回空目录则表示正常)。八、网络相关注意事项
/etc/hosts文件,添加集群节点的IP与主机名映射(如192.168.1.100 namenode、192.168.1.101 datanode1),避免依赖DNS解析,提高通信效率。9000、Web UI端口9870,DataNode的数据端口50010、信息端口50075),可使用以下命令:firewall-cmd --permanent --add-port=9000/tcp # 开放9000端口
firewall-cmd --permanent --add-port=9870/tcp # 开放9870端口
firewall-cmd --reload # 重新加载防火墙规则