Hadoop集群安装配置教程(Hadoop 3.5.0 Ubuntu版)

💡 原文中文,约9500字,阅读约需23分钟。
📝

内容提要

本文介绍在3台Ubuntu虚拟机(hadoop01、hadoop02、hadoop03)上搭建Hadoop 3.5.0全分布式集群,步骤包括安装虚拟机、配置主机名与固定IP、设置hosts映射、配置SSH无密码登录、下载安装Hadoop、配置PATH及workers、core-site.xml等5个文件、分发安装包、格式化NameNode并启动集群,最后运行MapReduce实例验证。

🔎

延伸解读

集群角色分配与硬件规划

文章明确给出了3个节点的角色分配:hadoop01作为主节点,同时运行NameNode、ResourceManager和NodeManager;hadoop02和hadoop03作为从节点,运行DataNode和NodeManager,其中hadoop03还承担SecondaryNameNode。这种分配方式将关键管理进程集中在hadoop01,从节点则专注于数据存储和计算。对于资源有限的实验环境,文章建议从节点内存可配置为4GB、磁盘20GB,这为读者规划虚拟机资源提供了具体参考。

网络配置中的关键细节

文章强调必须为每台虚拟机设置固定IP地址,避免动态分配导致集群连接失败。具体操作包括修改主机名、通过ifconfig获取IP、使用netstat -nr查询网关,并在图形界面中手动设置IPv4地址、子网掩码、网关和DNS。此外,hosts文件中的映射关系必须准确,且不能存在多余的127.0.0.1映射(如“127.0.0.1 hadoop01”),否则会引发解析问题。这些细节是集群稳定通信的基础。

SSH无密码登录的配置要点

实现hadoop01到所有节点(包括自身)的SSH无密码登录是集群启动的前提。文章详细说明了步骤:确认安装openssh-server、生成RSA密钥对、将公钥追加到本机authorized_keys,再通过scp将公钥传输到hadoop02和hadoop03,并在各节点上加入授权。过程中需注意目录权限和文件清理。配置完成后,务必用ssh命令逐一验证,确保无密码登录成功,否则后续启动脚本将无法远程执行。

配置文件修改与分发注意事项

文章指出需要修改5个核心配置文件:workers、core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。其中workers文件需列出所有数据节点主机名;hdfs-site.xml中dfs.replication设为3,符合冗余存储的一般做法;mapred-site.xml需指定YARN框架并设置环境变量。配置完成后,需将hadoop01上的Hadoop目录打包分发到从节点,并注意删除伪分布式模式遗留的临时文件和日志,避免冲突。

❓

Q&A

搭建Hadoop 3.5.0全分布式集群需要准备几台机器?各节点角色如何分配?

需要3个节点,主机名分别为hadoop01、hadoop02、hadoop03。hadoop01运行NameNode、DataNode、ResourceManager、NodeManager;hadoop02运行DataNode、NodeManager;hadoop03运行DataNode、SecondaryNameNode、NodeManager。

为什么Hadoop集群中每台机器的IP地址要设置为固定IP?

如果使用动态分配IP地址,每次重启系统后IP地址可能变化,导致集群无法连接。因此建议设置为固定IP地址。

配置SSH无密码登录时,如何将hadoop01的公钥分发到其他节点?

在hadoop01上使用scp命令将公钥传输到hadoop02和hadoop03的/home/hadoop/目录,例如:scp ~/.ssh/id_rsa.pub hadoop@hadoop02:/home/hadoop/ 和 scp ~/.ssh/id_rsa.pub hadoop@hadoop03:/home/hadoop/。然后在各节点上将公钥追加到~/.ssh/authorized_keys文件中。

Hadoop分布式模式需要修改哪几个配置文件?

需要修改5个文件:workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。

首次启动Hadoop集群前必须执行什么操作?后续启动还需要吗?

首次启动前需要在hadoop01节点上格式化NameNode,执行命令:./bin/hdfs namenode -format。后续再启动Hadoop时,不要再次格式化。

如何验证Hadoop集群是否启动成功?

可以通过以下方式验证:1) 在hadoop01上执行jps,应看到NameNode、NodeManager、DataNode、JobHistoryServer和ResourceManager进程;hadoop02上看到DataNode和NodeManager;hadoop03上看到DataNode、SecondaryNameNode和NodeManager。2) 执行./bin/hdfs dfsadmin -report,若Live datanodes为3则成功。3) 在浏览器访问http://hadoop01:9870/查看状态。

运行MapReduce作业时如果长时间没有进度,可能是什么原因?如何解决?

可能由内存不足引起。建议增大虚拟机的内存,或者通过更改YARN的内存配置来解决。也可以尝试重启Hadoop再次测试。

🏷️

标签

➡️

继续阅读