阅读量:0
Ubuntu下Hadoop网络配置指南
1. 准备工作
在开始网络配置前,需完成以下基础准备:
- 硬件要求:每台Ubuntu节点至少分配2GB内存、500GB磁盘空间(可根据集群规模调整);
- 软件安装:提前安装Java(
openjdk-11-jdk)和Hadoop(建议使用稳定版本,如3.3.6); - 网络模式:虚拟机建议使用桥接模式(与宿主机同局域网)或NAT模式(共享宿主机IP),确保节点间可通信。
2. 配置Ubuntu静态IP地址
Hadoop集群需要稳定的IP地址,避免动态IP变动导致节点失联。以Ubuntu 20.04及以上版本为例,通过netplan配置静态IP:
- 备份原有网络配置文件:
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak - 编辑配置文件(使用
nano或vim):sudo nano /etc/netplan/01-netcfg.yaml - 修改为以下内容(替换
、、为实际值,ens33为网络接口名,可通过ip a命令查看):network: version: 2 ethernets: ens33: addresses: ["/24" ] gateway4: "" nameservers: addresses: ["" , "8.8.8.8", "8.8.4.4"] - 应用配置:
sudo netplan apply - 验证IP设置:
确认输出的IP地址与配置一致。ip a | grep "inet "
3. 配置主机名与hosts文件映射
为了让节点通过主机名互相识别(而非IP),需统一配置主机名和/etc/hosts文件:
- 设置主机名(以
namenode为例):
重启节点使主机名生效,或临时生效:sudo hostnamectl set-hostname namenodesudo hostname namenode - 修改hosts文件(所有节点均需配置):
添加以下内容(替换为实际IP和主机名):sudo nano /etc/hosts
保存后,通过192.168.1.100 namenode 192.168.1.101 datanode1 192.168.1.102 datanode2ping验证主机名解析是否正常。
4. 配置SSH无密码登录
Hadoop集群节点间需要频繁通信(如NameNode与DataNode、ResourceManager与NodeManager),配置SSH无密码登录可避免重复输入密码:
- 生成SSH密钥对(所有节点):
直接按回车键,使用默认路径(ssh-keygen -t rsa~/.ssh/id_rsa)和空密码。 - 复制公钥到其他节点(以
namenode为例):
输入当前用户的密码,完成后即可实现无密码登录:ssh-copy-id namenode ssh-copy-id datanode1 ssh-copy-id datanode2ssh namenode ssh datanode1
5. 配置Hadoop网络相关参数
编辑Hadoop配置文件(位于$HADOOP_HOME/etc/hadoop/目录),确保网络相关参数正确:
- core-site.xml:指定HDFS的默认文件系统地址(
替换为NameNode的主机名):<configuration> <property> <name>fs.defaultFSname> <value>hdfs://namenode:9000value> property> configuration> - hdfs-site.xml:配置HDFS副本数(生产环境建议3个)和数据目录:
<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的主机名和Shuffle服务:
<configuration> <property> <name>yarn.resourcemanager.hostnamename> <value>resourcemanagervalue> property> <property> <name>yarn.nodemanager.aux-servicesname> <value>mapreduce_shufflevalue> property> configuration> - mapred-site.xml(若未创建,可复制模板):指定MapReduce框架为YARN:
<configuration> <property> <name>mapreduce.framework.namename> <value>yarnvalue> property> configuration>
6. 配置防火墙允许Hadoop端口
Hadoop需要开放多个端口用于节点间通信,使用ufw(Ubuntu防火墙工具)配置:
sudo ufw allow 9000/tcp # HDFS NameNode端口
sudo ufw allow 50070/tcp # HDFS Web UI端口
sudo ufw allow 50075/tcp # DataNode Web UI端口
sudo ufw allow 8020/tcp # HDFS客户端通信端口
sudo ufw allow 8032/tcp # YARN ResourceManager端口
sudo ufw allow 8042/tcp # NodeManager Web UI端口
sudo ufw enable # 启用防火墙
7. 格式化HDFS并启动集群
- 格式化HDFS(仅在NameNode上执行,首次配置或元数据损坏时需要):
注意:格式化会清除NameNode中的所有数据,请谨慎操作。hdfs namenode -format - 启动Hadoop集群:
start-dfs.sh # 启动HDFS服务(NameNode、DataNode) start-yarn.sh # 启动YARN服务(ResourceManager、NodeManager) - 验证集群状态:
- 查看HDFS节点列表:
hdfs dfsadmin -report - 查看YARN节点列表:
yarn node -list - 访问Web UI:在浏览器中输入
http://(HDFS Web UI)或:9870 http://(YARN Web UI)。:8088
- 查看HDFS节点列表:
8. 常见问题排查
- 节点无法连通:使用
ping检查网络连通性,确保/etc/hosts文件配置正确; - SSH登录失败:检查
~/.ssh/authorized_keys文件权限(应为600),并确认公钥已正确复制; - HDFS启动失败:查看NameNode日志(
$HADOOP_HOME/logs/hadoop-),常见原因包括端口被占用、数据目录权限不足;-namenode- .log - YARN启动失败:查看ResourceManager日志(
$HADOOP_HOME/logs/yarn-),确认-resourcemanager- .log yarn.resourcemanager.hostname配置正确。
以上就是关于“Ubuntu下Hadoop网络配置指南”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm