### Hadoop分布式集群初次启动详解
#### 一、前言
在进行Hadoop分布式集群的初次启动之前,我们已经完成了虚拟机的克隆以及必要的参数配置。本文将详细介绍如何通过SSH免密登录来确保集群各节点间的通信无阻,接着进行HDFS的格式化以及Hadoop集群的启动步骤。
#### 二、SSH免密登录配置
**1. 开启虚拟机**
- **环境准备**:首先打开虚拟机软件VMware,并启动master、slave1、slave2三个虚拟机。
**2. SSH免密登录设置**
- **验证免密登录**:在master虚拟机终端中输入命令`ssh slave1`。如果配置正确,将无需密码直接登录至slave1。
- **验证过程**:出现提示时输入`yes`确认添加主机指纹到known_hosts文件。完成验证后,输入`exit`命令退出slave1的登录状态。
- **原理解释**:这里的SSH免密登录是通过公钥认证实现的。由于三个虚拟机都是由同一个基础虚拟机克隆而来,因此它们共享了相同的.ssh目录及其中的`authorized_keys`文件。这意味着每个虚拟机都保存了其他虚拟机的公钥信息,从而实现了集群内节点之间的免密码登录。
**3. 查看.ssh目录**
- **验证文件**:在master虚拟机的hduser用户主目录下检查`.ssh`目录,确认`authorized_keys`文件的存在。
#### 三、HDFS格式化
**1. 清理HDFS目录**
- **原因说明**:因为集群虚拟机是从伪分布集群的虚拟机克隆而来,所以可能存在HDFS相关目录及数据。为了保证格式化的准确性,需先清除这些目录中的数据。
**2. 删除HDFS目录数据**
- **master虚拟机**:使用`rm -rf tmp/dfs/`命令删除`dfs`目录。
- **slave1虚拟机**:通过`ssh slave1`登录slave1,执行相同命令清除数据,之后使用`exit`退出。
- **slave2虚拟机**:重复slave1的操作。
**3. 执行HDFS格式化**
- **命令执行**:在master终端输入`hadoop namenode –format`进行HDFS格式化。格式化成功后将显示相应提示。
#### 四、启动Hadoop集群
**1. 启动HDFS进程**
- **启动命令**:在master节点上运行`start-dfs.sh`命令,启动HDFS模块。启动后,可通过`jps`命令查看启动的进程,其中包括master节点上的`NameNode`与`SecondaryNameNode`,以及slave节点上的`DataNode`进程。
**2. 启动YARN进程**
- **启动命令**:运行`start-yarn.sh`命令,启动YARN模块。启动后,master节点上将新增`ResourceManager`进程,而slave节点则新增`NodeManager`进程。
**3. 全部启动(包括YARN与HDFS)**
- **使用start-all.sh**:在启动HDFS与YARN之前,需先使用`stop-all.sh`命令停止所有进程,以避免冲突。之后运行`start-all.sh`命令,同时启动HDFS与YARN。通过`jps`命令检查进程是否已成功启动。
#### 五、总结
通过本文的详细介绍,我们不仅了解了Hadoop分布式集群初次启动所需的准备工作,包括SSH免密登录的设置以及HDFS格式化等步骤,还掌握了如何通过不同的命令来启动Hadoop集群中的HDFS与YARN模块。这对于Hadoop初学者来说是非常实用且重要的知识。希望本文能够帮助读者更好地理解和掌握Hadoop集群的启动流程。