HDFS在Ubuntu上的网络设置
导读:HDFS在Ubuntu上的网络设置指南 1. 配置静态IP地址 静态IP是集群节点稳定通信的基础,避免DHCP动态分配导致的IP变动。以Ubuntu 22.04为例,通过netplan工具配置(配置文件路径通常为/etc/netplan/0...
HDFS在Ubuntu上的网络设置指南
1. 配置静态IP地址
静态IP是集群节点稳定通信的基础,避免DHCP动态分配导致的IP变动。以Ubuntu 22.04为例,通过netplan工具配置(配置文件路径通常为/etc/netplan/01-network-manager-all.yaml):
network:
version: 2
renderer: NetworkManager
ethernets:
ens33: # 网卡名称(通过`ip a`命令查看)
dhcp4: no
addresses: ["192.168.88.10/24"] # 设置静态IP及子网掩码
gateway4: 192.168.88.2 # 网关地址(与物理网络一致)
nameservers:
addresses: ["8.8.8.8", "1.1.1.1"] # DNS服务器
应用配置:sudo netplan apply。
2. 配置主机名解析
通过/etc/hosts文件实现节点名称与IP的映射,避免依赖DNS解析(提升通信效率并减少外部依赖)。编辑/etc/hosts,添加集群所有节点的信息:
192.168.88.10 master # 主节点(NameNode、ResourceManager)
192.168.88.11 slave1 # 从节点1(DataNode、NodeManager)
192.168.88.12 slave2 # 从节点2(DataNode、NodeManager)
确保所有节点的/etc/hosts文件内容一致。
3. 配置SSH免密登录
实现节点间无密码通信,是Hadoop集群管理的核心需求(如NameNode向DataNode分发任务)。操作步骤:
- 在主节点生成SSH密钥对:
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa(直接回车,默认保存路径)。 - 将公钥复制到所有从节点:
ssh-copy-id hadoop@slave1、ssh-copy-id hadoop@slave2(hadoop为节点用户名,需提前创建并设置密码)。 - 测试免密登录:
ssh slave1,若无需输入密码即可登录,则配置成功。
4. 配置Hadoop网络相关参数
修改Hadoop核心配置文件(位于$HADOOP_HOME/etc/hadoop目录),确保网络通信端口和路径正确:
- core-site.xml:定义HDFS的默认文件系统地址(主节点NameNode的IP和端口)。
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://master:9000< /value> < !-- 替换为你的主节点IP或主机名 --> < /property> < /configuration> - hdfs-site.xml:配置NameNode和DataNode的数据存储路径、副本数(分布式存储的核心参数)。
< configuration> < property> < name> dfs.replication< /name> < value> 3< /value> < !-- 副本数(根据集群规模调整,生产环境建议3) --> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /usr/local/hadoop/data/namenode< /value> < !-- NameNode元数据存储路径 --> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /usr/local/hadoop/data/datanode< /value> < !-- DataNode数据存储路径 --> < /property> < /configuration> - yarn-site.xml:配置ResourceManager的主机名(YARN资源调度的核心)。
< 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> - mapred-site.xml(若未创建,需从
mapred-site.xml.template复制):指定MapReduce框架为YARN。< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration> ```。
5. 配置防火墙允许Hadoop端口
Hadoop需要开放多个端口用于节点间通信,使用ufw(Ubuntu防火墙工具)放行所需端口:
sudo ufw allow 9000/tcp # NameNode RPC端口
sudo ufw allow 50070/tcp # NameNode Web UI端口(Hadoop 3.x可能为9870)
sudo ufw allow 8088/tcp # ResourceManager Web UI端口
sudo ufw allow 50010/tcp # DataNode数据传输端口
sudo ufw allow 50020/tcp # DataNode IPC端口
sudo ufw allow 50090/tcp # SecondaryNameNode端口
sudo ufw enable # 启用防火墙
验证防火墙状态:sudo ufw status,确保上述端口处于“ALLOW”状态。
6. 验证网络连通性
在所有节点上执行以下命令,确保网络配置正确:
- Ping测试:
ping master、ping slave1,确保节点间IP连通。 - 端口测试:
telnet master 9000(替换为你的NameNode IP和端口),确保端口可访问。 - 主机名解析测试:
ping slave1,通过主机名能正确解析到IP地址。
完成以上步骤后,HDFS的网络基础配置完成,可继续执行hdfs namenode -format(首次启动需格式化)和start-dfs.sh(启动HDFS)命令,启动HDFS服务。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HDFS在Ubuntu上的网络设置
本文地址: https://pptw.com/jishu/738296.html
