hadoop学习 2 HDFS的三种部署模式

  • Post author:
  • Post category:其他



先来讲讲安装hadoop的大致流程,备忘:

  1. 删除系统自带的openjdk
  2. 安装在官网下载的jdk
  3. 配置JAVA环境变量
  4. source /etc/profile
  5. 输入 java -version,验证JAVA环境安装成功;
  6. 解压hadoop,并配置环境变量(这一步具体参考

    https://www.bilibili.com/video/BV1tT4y1E7xf?p=14);
  7. source /etc/profile
  8. 输入 hadoop version,验证hadoop安装成功。


HDFS的部署有3种模式:本地模式、伪分布式模式、完全分布式模式。



1. 本地模式(Standalone)

1) 运行在单个机器上;

2) 使用的是本地文件系统;


用途:


1) 用于调试MapReduce程序的逻辑,确保逻辑的正确;

3) 本地模式适用于开发阶段,因为在本地调试MapReduce程序比较方便。


本地模式不需要安装,只需要在已经安装hadoop的机器上运行MapReduce程序即可。



2. 伪分布式模式(Pseudo-Distributed)

1) 运行在单个机器上;

2) 使用的是分布式文件系统;

3) HDFS涉及到的守护进程(NameNode、SecondaryNameNode、DataNode等)都运行在一台机器上(都是独立的JAVA进程);


用途:


1) 比本地模式多了代码调试功能;

2) 允许检查内存使用情况;

3) 可以检查HDFS输入输出、守护进程的交互。


与配置有关的文件解析:



core-site.xml

这里的一开始的“hdfs”不是http,因为进程间不通过http进行通信。


在这里插入图片描述


hdfs-site.xml

伪分布式模式的副本设置为1,因为就算配置多个副本,机器坏了,所有副本都在机器里,再多副本也没用。

在这里插入图片描述


Hadoop-env.sh

指定jdk的环境


在这里插入图片描述



3. 完全分布式模式

1) 运行在不同的机器上;

2) HDFS的各个守护进程会运行在不同的机器上。


用途:


1) 生产环境中使用;

2) NameNode尽量部署在硬件性能较好的机器上;

3) 其它每台机器,都要部署一个DataNode,机器性能可以稍弱(一般DataNode都很多,这样做是为了控制成本);

4) SecondaryNameNode不建议和NameNode部署在同一台机器上。


配置过程:


1) 配置对应环境

2) 格式化集群

3) 启动集群

4) 测试集群

注:这里顺便部署yarn。

教材中是用了3台虚拟机,所以master上面既有NameNode,也有DataNode,这里是因为他虚拟机太少。其实在真实情况下,一台机器配置一个HDFS Node就行。

这里的NodeManager、ResourceManager都是yarn中的结点。其中存在和HDFS中的结点对应关系(yarn和HDFS中的结点并没有特殊的联系):


ResourceManager

**(yarn中的“boss”)

对应

NameNode(HDFS中的“boss”)**;


NodeManager

对应

DataNode

在这里插入图片描述

在部署完全分布式集群时,需要满足下面的条件:

在这里插入图片描述

完全分布式集群所需编辑的配置文件:

在这里插入图片描述


core-site.xml文件相关解析:

在这里插入图片描述


hdfs-site.xml解析:


在这里插入图片描述


mapred-site.xml解析:

在这里插入图片描述


yarn-site.xml解析:


在这里插入图片描述


hadoop-env.sh、yarn-env.sh:


在这里插入图片描述

多台机器的配置方法:

在这里插入图片描述


格式化集群的目的(hdfs namenode -format格式化必须在NameNode上执行):

  1. 生成集群id:clusterID;
  2. 生成块池id:BlockPoolID;
  3. 生成NameNode进程管理内容(fsimage)的存储路径:

    默认配置文件属性hadoop.tmp.dir指定的路径下生成dfs/name目录;
  4. 生成镜像文件fsimage,记录元数据;
  5. 生成并记录其他信息。


启动集群(最好在NameNode上执行):start-dfs.sh


在启动之后,如果有某些结点没有启动成功,可以查看日志:

在这里插入图片描述

在守护进程的启动和关闭方面,官方推荐单个start和单个stop:

在这里插入图片描述

下一篇文章记录如何搭建完全分布式模式。



版权声明:本文为qq_41173093原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。