Ubuntu HDFS网络配置注意事项
Ubuntu环境下HDFS网络配置的关键注意事项
1. 静态IP地址配置
为所有HDFS节点(NameNode、DataNode、ResourceManager等)配置静态IP地址,避免DHCP动态分配导致IP变动,影响集群稳定性。可通过/etc/netplan/*.yaml
(Ubuntu 18.04+)或/etc/network/interfaces
文件配置,确保IPADDR
、NETMASK
、GATEWAY
、DNS1
等参数正确。例如:
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]
配置后需应用更改:sudo netplan apply
。
2. 主机名与hosts文件映射
统一所有节点的主机名(如namenode
、datanode1
),并在/etc/hostname
文件中设置。同时,在/etc/hosts
文件中添加IP与主机名的映射关系,确保节点间可通过主机名互相访问。例如:
192.168.1.100 namenode
192.168.1.101 datanode1
192.168.1.102 datanode2
避免使用localhost
作为集群节点的主机名,防止通信混淆。
3. SSH免密码登录配置
配置所有节点之间的SSH免密码登录,确保NameNode能无密码连接到DataNode,以及ResourceManager能管理各节点。步骤如下:
- 在主节点生成SSH密钥对:
ssh-keygen -t rsa
(默认保存至~/.ssh/id_rsa
)。 - 将公钥复制到其他节点:
ssh-copy-id user@datanode1
、ssh-copy-id user@datanode2
。 - 测试免密登录:
ssh user@datanode1
,无需输入密码即可连接。
4. 防火墙与SELinux设置
开放HDFS所需端口,允许节点间通信。常用端口包括:
- HDFS核心端口:
8020
(NameNode RPC)、50010
(DataNode数据传输)、50020
(DataNode块复制)、50070
(NameNode Web UI)、50075
(DataNode Web UI); - YARN端口:
8032
(ResourceManager调度)、8042
(NodeManager Web UI)。
使用ufw
(Ubuntu防火墙)配置:
sudo ufw allow 8020/tcp
sudo ufw allow 50010/tcp
sudo ufw allow 50020/tcp
sudo ufw allow 50070/tcp
sudo ufw allow 50075/tcp
sudo ufw allow 8032/tcp
sudo ufw allow 8042/tcp
sudo ufw enable
若系统启用SELinux,需临时关闭(setenforce 0
)或永久禁用(修改/etc/selinux/config
中的SELINUX=disabled
)。
5. Hadoop核心配置文件调整
正确配置core-site.xml
、hdfs-site.xml
等文件,确保HDFS地址和端口正确:
- core-site.xml:设置HDFS默认文件系统和临时目录,
fs.defaultFS
需指向NameNode的RPC地址(如hdfs://namenode:8020
),hadoop.tmp.dir
需设置为绝对路径(如/usr/local/hadoop/tmp
)。 - hdfs-site.xml:配置NameNode和DataNode的数据存储路径(
dfs.namenode.name.dir
、dfs.datanode.data.dir
)、副本因子(dfs.replication
,生产环境建议3,测试环境可设为1)、Web UI端口等。 - 高可用配置(可选):若搭建HA集群,需在
hdfs-site.xml
中添加dfs.nameservices
(集群名称)、dfs.ha.namenodes.mycluster
(NameNode标识,如nn1,nn2
)、dfs.namenode.rpc-address.mycluster.nn1
(Active NameNode RPC地址)、dfs.namenode.shared.edits.dir
(JournalNode共享存储路径)等参数。
6. 网络时间同步
集群中所有节点的时间必须同步,否则会导致NameNode与DataNode之间的通信异常(如心跳超时)。推荐安装ntp
服务:
sudo apt update
sudo apt install ntp -y
sudo systemctl enable ntp
sudo systemctl start ntp
或使用chrony
(Ubuntu 20.04+默认):
sudo timedatectl set-ntp true
定期检查时间同步状态:timedatectl status
。
7. 网络性能优化
- 使用千兆及以上以太网:避免网络带宽成为瓶颈,影响数据传输效率;
- 配置专用网络:将HDFS集群流量与办公网络、互联网隔离,减少干扰;
- 调整TCP参数:优化
/etc/sysctl.conf
中的网络参数,如增大net.core.somaxconn
(最大连接队列长度,建议设为1024)、net.ipv4.tcp_max_syn_backlog
(SYN队列长度,建议设为2048),提升网络吞吐量。修改后执行sudo sysctl -p
使配置生效。
8. 验证网络配置
- 使用
ping
命令测试节点间连通性:ping namenode
、ping datanode1
; - 使用
ssh
命令测试免密登录:ssh namenode
、ssh datanode1
; - 使用
hdfs dfsadmin -report
命令查看HDFS集群状态,确认所有DataNode已注册; - 使用
yarn node -list
命令查看YARN节点状态,确认所有NodeManager已连接。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu HDFS网络配置注意事项
本文地址: https://pptw.com/jishu/731129.html