Ubuntu Hadoop 网络配置怎么做
导读:Ubuntu环境下Hadoop网络配置详细步骤 1. 配置Ubuntu静态IP地址 Hadoop集群需要稳定的网络环境,建议为所有节点(NameNode、DataNode、ResourceManager、NodeManager等)配置静态I...
Ubuntu环境下Hadoop网络配置详细步骤
1. 配置Ubuntu静态IP地址
Hadoop集群需要稳定的网络环境,建议为所有节点(NameNode、DataNode、ResourceManager、NodeManager等)配置静态IP。
- 查看网络接口名称:运行
ip a
命令,确认网络接口(如ens33
,不同系统可能为eth0
)。 - 编辑Netplan配置文件:Ubuntu 18.04及以上版本使用Netplan管理网络,文件路径通常为
/etc/netplan/01-netcfg.yaml
(备份原文件后编辑)。
示例配置(替换为实际IP、网关、DNS):network: version: 2 ethernets: ens33: addresses: ["192.168.1.100/24"] # 静态IP及子网掩码 gateway4: "192.168.1.1" # 网关地址 nameservers: addresses: ["8.8.8.8", "8.8.4.4"] # DNS服务器
- 应用配置:运行
sudo netplan apply
使设置生效,验证IP是否正确:ip a | grep ens33
。
2. 配置主机名与IP映射(/etc/hosts文件)
Hadoop集群节点间通过主机名通信,需将各节点的IP与主机名映射写入所有节点的/etc/hosts
文件。
- 编辑hosts文件:
sudo nano /etc/hosts
- 添加映射内容(示例,替换为实际IP和主机名):
192.168.1.100 namenode 192.168.1.101 datanode1 192.168.1.102 datanode2 192.168.1.103 resourcemanager 192.168.1.104 nodemanager
- 保存并退出:确保所有节点的
/etc/hosts
文件内容一致。
3. 配置SSH无密码登录
Hadoop集群节点间需要频繁通信(如NameNode与DataNode、ResourceManager与NodeManager),配置SSH无密码登录可避免重复输入密码。
- 生成SSH密钥对(在所有节点执行):
ssh-keygen -t rsa # 默认保存路径~/.ssh/id_rsa
- 复制公钥到其他节点(以namenode为例,向datanode1、datanode2等复制):
ssh-copy-id namenode@192.168.1.100 # 将本机公钥复制到namenode ssh-copy-id datanode1@192.168.1.101 # 复制到datanode1 ssh-copy-id datanode2@192.168.1.102 # 复制到datanode2
- 验证无密码登录:
ssh namenode # 无需输入密码即可登录 ssh datanode1
4. 配置Hadoop核心网络参数
修改Hadoop配置文件,指定集群通信的IP、端口及副本策略。
- 进入Hadoop配置目录(假设Hadoop安装在
/usr/local/hadoop
):cd /usr/local/hadoop/etc/hadoop
- 编辑core-site.xml(指定HDFS默认文件系统和NameNode地址):
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://namenode:9000< /value> < !-- 替换为namenode的实际主机名 --> < /property> < /configuration>
- 编辑hdfs-site.xml(配置HDFS副本数、NameNode/DataNode数据目录):
< configuration> < property> < name> dfs.replication< /name> < value> 3< /value> < !-- 副本数,根据集群规模调整 --> < /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地址和Shuffle服务):
< configuration> < property> < name> yarn.resourcemanager.hostname< /name> < value> resourcemanager< /value> < !-- 替换为resourcemanager的实际主机名 --> < /property> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < !-- MapReduce Shuffle服务 --> < /property> < /configuration>
- 编辑mapred-site.xml(指定MapReduce框架为YARN):
< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration>
5. 配置防火墙允许Hadoop端口
Hadoop需要开放多个端口用于节点间通信,需配置防火墙(如ufw
)允许这些端口。
- 查看防火墙状态:
sudo ufw status
- 允许常用端口(若未开启防火墙,可跳过此步):
sudo ufw allow 9000/tcp # NameNode RPC端口 sudo ufw allow 50070/tcp # HDFS Web UI端口 sudo ufw allow 50075/tcp # DataNode Web UI端口 sudo ufw allow 8088/tcp # YARN ResourceManager Web UI端口 sudo ufw allow 8030/tcp # YARN ResourceManager调度端口 sudo ufw allow 8040/tcp # NodeManager Web UI端口 sudo ufw allow 8042/tcp # NodeManager Web UI端口 sudo ufw enable # 开启防火墙(可选)
6. 格式化HDFS并启动集群
首次配置Hadoop需格式化NameNode(会清除原有数据,仅第一次执行),然后启动集群服务。
- 格式化NameNode(在namenode节点执行):
hdfs namenode -format
- 启动HDFS:
start-dfs.sh
- 启动YARN:
start-yarn.sh
- 验证集群状态:
- 查看NameNode和DataNode状态:
hdfs dfsadmin -report
- 查看ResourceManager和NodeManager状态:
yarn node -list
- 访问Web UI:浏览器输入
http://namenode:9000
(HDFS)、http://resourcemanager:8088
(YARN)。
- 查看NameNode和DataNode状态:
常见问题排查
- 节点无法连通:检查
/etc/hosts
映射是否正确,防火墙是否阻止端口,网络接口IP是否配置正确。 - SSH登录失败:确认公钥已正确复制到目标节点,
~/.ssh
目录权限为700,~/.ssh/authorized_keys
权限为600。 - HDFS格式化失败:删除NameNode和DataNode的数据目录(如
/usr/local/hadoop/data/namenode
),重新格式化。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Hadoop 网络配置怎么做
本文地址: https://pptw.com/jishu/731162.html