一、基础网络环境配置
设置静态IP地址
静态IP是集群节点稳定通信的基础,需根据Linux发行版修改对应网络配置文件:
/etc/network/interfaces
,添加以下内容(以eth0
为例):auto eth0
iface eth0 inet static
address 192.168.1.100 # 节点IP地址
netmask 255.255.255.0 # 子网掩码
gateway 192.168.1.1 # 网关地址
dns-nameservers 8.8.8.8 8.8.4.4 # DNS服务器
/etc/sysconfig/network-scripts/ifcfg-eth0
(eth0
为网卡名),设置:TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes # 开机自启
保存后重启网络服务:systemctl restart network
(CentOS 7以下)或systemctl restart NetworkManager
(CentOS 7及以上)。
配置主机名与hosts映射
master
、slave1
):hostnamectl set-hostname <主机名>
。/etc/hosts
文件,添加IP与主机名的映射(所有节点需一致):192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
这样可通过主机名直接访问节点,避免依赖DNS。
关闭防火墙与SELinux
systemctl stop firewalld
(CentOS)或systemctl stop ufw
(Ubuntu)。systemctl disable firewalld
。setenforce 0 # 临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭
防火墙和SELinux可能会阻止Hadoop节点间的通信,关闭后可避免端口访问问题。
二、SSH免密码登录配置 Hadoop集群节点间需要频繁通信(如NameNode与DataNode、ResourceManager与NodeManager),配置SSH免密码登录可简化操作:
master
)生成SSH密钥对:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 默认保存路径~/.ssh/
slave1
、slave2
):ssh-copy-id master # 复制到本机(可选)
ssh-copy-id slave1
ssh-copy-id slave2
ssh master # 无需输入密码即可登录
ssh slave1
注意:确保~/.ssh
目录权限为700
,~/.ssh/authorized_keys
权限为600
(chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys
)。三、Hadoop核心网络配置文件
Hadoop的网络行为主要由core-site.xml
、hdfs-site.xml
、mapred-site.xml
、yarn-site.xml
四个核心配置文件控制:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> <!-- NameNode的IP和端口 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value> <!-- 临时文件目录 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 数据块副本数 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/namenode</value> <!-- NameNode元数据存储路径 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/datanode</value> <!-- DataNode数据存储路径 -->
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</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>
</configuration>
以上配置需根据集群规模(如节点数量、数据量)调整,例如dfs.replication
在测试环境可设为1。四、验证网络配置
ping
命令测试与从节点的连通性(如ping slave1
),确保网络畅通。ssh slave1
,确认无需输入密码即可登录。hdfs namenode -format
。start-dfs.sh
。start-yarn.sh
。jps
(应显示NameNode、DataNode、ResourceManager、NodeManager等进程)。http://master:50070
)、YARN(http://master:8088
),确认集群状态正常。