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.defaultFSname> <value>hdfs://master:9000value> property> configuration> - hdfs-site.xml:配置NameNode和DataNode的数据存储路径、副本数(分布式存储的核心参数)。
<configuration> <property> <name>dfs.replicationname> <value>3value> property> <property> <name>dfs.namenode.name.dirname> <value>/usr/local/hadoop/data/namenodevalue> property> <property> <name>dfs.datanode.data.dirname> <value>/usr/local/hadoop/data/datanodevalue> property> configuration> - yarn-site.xml:配置ResourceManager的主机名(YARN资源调度的核心)。
<configuration> <property> <name>yarn.resourcemanager.hostnamename> <value>mastervalue> property> <property> <name>yarn.nodemanager.aux-servicesname> <value>mapreduce_shufflevalue> property> configuration> - mapred-site.xml(若未创建,需从
mapred-site.xml.template复制):指定MapReduce框架为YARN。<configuration> <property> <name>mapreduce.framework.namename> <value>yarnvalue> 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服务。
以上就是关于“HDFS在Ubuntu上的网络设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm