Ubuntu下Hadoop网络配置指南
导读:Ubuntu下Hadoop网络配置指南 1. 准备工作 在开始网络配置前,需完成以下基础准备: 硬件要求:每台Ubuntu节点至少分配2GB内存、500GB磁盘空间(可根据集群规模调整); 软件安装:提前安装Java(openjdk-11...
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 - 修改为以下内容(替换
< your_ip>、< your_gateway>、< your_dns>为实际值,ens33为网络接口名,可通过ip a命令查看):network: version: 2 ethernets: ens33: addresses: ["< your_ip> /24"] gateway4: "< your_gateway> " nameservers: addresses: ["< your_dns> ", "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 < hostname>验证主机名解析是否正常。
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_hostname>替换为NameNode的主机名):< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://namenode:9000< /value> < /property> < /configuration> - hdfs-site.xml:配置HDFS副本数(生产环境建议3个)和数据目录:
< configuration> < property> < name> dfs.replication< /name> < value> 3< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /usr/local/hadoop/data/namenode< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /usr/local/hadoop/data/datanode< /value> < /property> < /configuration> - yarn-site.xml:指定ResourceManager的主机名和Shuffle服务:
< configuration> < property> < name> yarn.resourcemanager.hostname< /name> < value> resourcemanager< /value> < /property> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < /property> < /configuration> - mapred-site.xml(若未创建,可复制模板):指定MapReduce框架为YARN:
< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /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://< namenode_ip> :9870(HDFS Web UI)或http://< resourcemanager_ip> :8088(YARN Web UI)。
- 查看HDFS节点列表:
8. 常见问题排查
- 节点无法连通:使用
ping < hostname>检查网络连通性,确保/etc/hosts文件配置正确; - SSH登录失败:检查
~/.ssh/authorized_keys文件权限(应为600),并确认公钥已正确复制; - HDFS启动失败:查看NameNode日志(
$HADOOP_HOME/logs/hadoop-< username> -namenode-< hostname> .log),常见原因包括端口被占用、数据目录权限不足; - YARN启动失败:查看ResourceManager日志(
$HADOOP_HOME/logs/yarn-< username> -resourcemanager-< hostname> .log),确认yarn.resourcemanager.hostname配置正确。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下Hadoop网络配置指南
本文地址: https://pptw.com/jishu/733089.html
