
基于“Docker容器(虚拟机) + CentOS 8操作系统 + Apache Hadoop 3.3.6”的环境,我们来搭建一个Hadoop完全分布式集群。对于Docker容器和虚拟机中的不同配置,我们将在文档中详细说明。
主机规划如下表所示:
主机名
| 节点类型 | 安装服务 |
| | |
| dev-04 | Master:NameNode、ResourceManager、SecondaryNameNode、JobHistoryServer |
| dev-05 | Slave:DataNode、NodeManager |
| dev-06 | Slave:DataNode、NodeManager |
一、安装前的系统配置
1. 配置SSH免密登录
在安装Apache Hadoop 3.3.6之前,我们需要配置SSH免密登录。
1.1.1 在Master中配置SSH免密登录
在Master dev-04上配置SSH免密登录。生成密钥对,然后拷贝密钥到本机及其他两台机器。通过ssh指令测试是否需要免密登录。
1.2. 配置hostname映射(仅限于虚拟机或独立服务器需要配置,Docker容器无需配置)
在所有虚拟机上执行“vim /etc/hosts”,添加hostname映射。
1.3. 配置防火墙(仅限于虚拟机或独立服务器需要配置,Docker容器无需配置)
如果仅在内部开发与测试环境中使用,建议直接关闭防火墙。查看防火墙状态、关闭防火墙并设置开机禁用防火墙。
二、Hadoop安装与配置
2.1 安装Java Development Kit (JDK)
Hadoop 3.3.6建议使用JDK 8或更高版本。确保在每台机器上正确安装JDK,并在“/etc/profile”文件中配置PATH参数。执行“source /etc/profile”使配置生效,并在每台机器上执行“java -version”检查JDK安装是否正确。
2.2 在Master中安装与配置Hadoop
三、Hadoop启动与访问
Hadoop分布式集群的HDFS格式化与启动停止需要在Master(dev-04)中进行操作。首次启动Hadoop HDFS集群时,必须对主节点进行格式化处理。执行格式化指令后,可以通过start-all.sh启动或分别启动hdfs和yarn。停止与启动一样,可以通过stop-all.sh进行停止或分别停止hdfs和yarn。启动完成后,使用“jps”指令查看相关进程启动情况。还需要启动historyserver,并通过Web访问NameNode、YARN和历史服务。具体访问地址参考示例。
