Hadoop从入门到精通系列之--0.Hadoop生态体系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Haidaiya/article/details/84568588

目录

一 大数据的组织部门结构

二 Hadoop的组成部分

2.1 HDFS

2.2 YARN

2.3 MapReduce

三 Hadoop生态体系

四 Hadoop的目录结构

4.1 bin目录

4.2 etc目录

4.3 lib目录

4.4 sbin目录

4.5 share目录


一 大数据的组织部门结构

要向着数据挖掘组的职位努力,平台组偏向于运维方向,数据仓库组和数据挖掘组是最好的就业方向,报表开发组就不好意思评价了,其实就是普通的javaEE工程师,学的大数据就没有意义了。

二 Hadoop的组成部分

2.1 HDFS

为了解决大数据的存储的问题,它的成员有三个,分别是NameNode,DataNode,SecondaryNameNode(2nn),下面分别介绍这三个成员,因为HDFS是解决大数据的存储问题,所以在入门这方面的时候要牢记存储二字。

  1. NameNode:存储文件的元数据,比如文件名,文件目录结构,文件属性(生成时间,副本书,文件权限),以及每个文件的块列表,和块所在的DataNode。
  2. DataNode:在本地硬盘上存储的具体文件,块文件和块文件的校验和。它和NameNode的关系就像目录和具体内容的关系一样。
  3. SecondaryNode:作为NameNode的辅助工具,相当于NameNode中元数据的备份

2.2 YARN

YARN相当于Hadoop的大管家,主要是分配资源,管理这个集群上的任务,对这些任务进行管理,还是理解大管家这个词比较贴切。它的成员主要有ResourceManager,NodeManager,ApplicationMaster,Container。

  1. ResourceManager:处理客户端的请求如job.waitForCompletion(true);监控NodeManager,如所有的Node都要向ResourceManager报告自己的状态;启动和监控ApplicationMaster;资源的分配和调度。总的来说ResourceManager是大管家
  2. NodeManager:管理单个节点的资源;处理来自ResourceManager的命令;处理来自ApplicationMaster的命令;总的来说NodeManager是当前这个服务器的小管家
  3. ApplicationMaster:由ResourceManager创建;负责数据的切片;为job申请资源并分配资源;
  4. Container:它是ResourceManager中提到的资源的抽象,它存储的是当前服务器的配置比如说内存,硬盘,cpu等,当ApplicationMaster向ResourceManager申请资源的时候,它负责分配。

2.3 MapReduce

MapReduce是分为两个阶段的,分别是Map阶段和Reduce阶段。

  1. Map阶段:主要作用是并行处理输入的数据,比方说有1TB的数据,用一台电脑处理和1千个电脑处理就是不一样的,Map阶段就相当于使用一千个电脑处理数据
  2. Reduce阶段:主要作用是汇总Map阶段的结果,上面说了Map阶段是并行的,所以有很多电脑处理,那么每个电脑处理的结果谁来汇总呢?Reduce阶段就是干的这个活

三 Hadoop生态体系

很多人都不知道Hadoop生态是什么?大数据仅仅依靠Hadoop框架是不够的,这个体系是庞大的,不仅仅包含Hadoop,它还有其它的框架,这个生态构成了现在的大数据生态。

四 Hadoop的目录结构

本不该在这个地方介绍Hadoop目录结构的,但是也没有关系,看一看它长什么模样,不是更直观吗?在Linux上安装好Hadoop之后,可以查看一下它的目录结构。如下:

4.1 bin目录

存放着对Hadoop相关服务(HDFS,YARN)进行操作的脚本。

普及一下Linux的基本知识,上图中行首那一串估计有很多人不懂,这里普及一下:

-rwxr-xr-x. 1 wanglei wanglei  11386 5月  22 2017 yarn.cmd

  1.  -    :不要忽略这个横杠,第一位表示文件类型,-   表示普通文件,d  表示文件夹,1  表示软连接,  c  表示设备,键盘什么的,b  表示块文件,硬盘。
  2. rwx:三位结合来看,r表示可读,w表示可写,x表示可执行,这三位表示文件所有者对这个文件拥有读写执行权限
  3. r-x:同理,这三位表示文件所在组的其他用户对这个文件有读执行权限
  4. r-x:同理,这三位表示其他组的用户对这个文件有读执行权限
  5. 1:如果是文件,表示硬链接的个数,如果是文件夹,表示子文件夹的个数
  6. wanglei  wanglei:文件的所有者和所有者在的组
  7. 11386:文件大小,如果是文件夹的话,大小为4096
  8. 后面的是文件时间和文件名称

4.2 etc目录

存放Hadoop的配置文件

4.3 lib目录

存放Hadoop的本地库,对数据进行压缩和解压缩的功能库

4.4 sbin目录

存放启动和停止Hadoop服务的命令,与bin的区别在于bin中是具体操作的命令,而sbin目录是启动和停止服务的。

4.5 share目录

存放Hadoop的依赖jar包,官方文档,和官方的案例

 

猜你喜欢

转载自blog.csdn.net/Haidaiya/article/details/84568588
今日推荐