初识Hadoop

作者: 袁梦祥941115 | 来源:发表于2018-03-15 13:28 被阅读0次

三大核心组件

1. HDFS

概念

是一个分布式文件系统 源于谷歌GFS论文的开源实现

设计目标

  • 非常巨大的分布式文件系统
  • 可以运行在非常廉价的硬件上
  • 容易扩展 可以给用户提供性能不错的文件存储服务

设计架构

HDFS 架构
  • 1 Master(NameNode/NN) 带 N个Slaves(DataNode/DN)
    HDFS/YARN/HBase同样如此

  • 1个文件会被拆分成多个Block 根据配置 存储在多个DataNode上
    blockSize:128M(可以设置)
    例如: 130M ==> 2个Block: 128M 和 2M

NameNode:
1)负责客户端请求的响应
2)负责元数据(文件的名称、副本系数、Block存放的DN)的管理

DataNode:
1)存储用户的文件对应的数据块(Block)
2)要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况

A typical deployment has a dedicated machine that runs only the NameNode software. Each of the other machines in the cluster runs one instance of the DataNode software.

The architecture does not preclude running multiple DataNodes on the same machine
but in a real deployment that is rarely the case.

NameNode + N个DataNode
建议:将NN和DN部署在不同的节点上

replication factor:副本系数、副本因子
表示每个Block的副本数量

All blocks in a file except the last block are the same size

副本存放策略

Rack 表示机架 第一个副本默认保存在客户端机器所在的节点上 其他如图


副本存放策略.png

2. 资源调度框架 YARN

概念

YARN:不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度
XXX on YARN的好处:
与其他计算框架共享集群资源,按资源需要分配,进而提高集群资源的利用率
XXX: Spark/MapReduce/Storm/Flink

YARN架构:

1)ResourceManager: RM
整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度
处理客户端的请求: 提交一个作业、杀死一个作业
监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理

  1. NodeManager: NM
    整个集群中有多个,负责自己本身节点资源管理和使用
    定时向RM汇报本节点的资源使用情况
    接收并处理来自RM的各种命令:启动Container
    处理来自AM的命令
    单个节点的资源管理

  2. ApplicationMaster: AM
    每个应用程序对应一个:MR、Spark,负责应用程序的管理
    为应用程序向RM申请资源(core、memory),分配给内部task
    需要与NM通信:启动/停止task,task是运行在container里面,AM也是运行在container里面

  3. Container
    封装了CPU、Memory等资源的一个容器
    是一个任务运行环境的抽象

  4. Client
    提交作业
    查询作业的运行进度
    杀死作业

YARN环境搭建

1)mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

2)yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

  1. 启动YARN相关的进程
    sbin/start-yarn.sh

4)验证
jps
ResourceManager
NodeManager
http://hadoop000:8088

5)停止YARN相关的进程
sbin/stop-yarn.sh

提交mr作业到YARN上运行:

/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar

hadoop jar

hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3

相关文章

  • 初识Hadoop

    三大核心组件 1. HDFS 概念 是一个分布式文件系统 源于谷歌GFS论文的开源实现 设计目标 非常巨大的分布式...

  • Hadoop 初识

    Hadoop的前世今生 Google大数据技术 MapReduce BigTable GFS 革命性的变化: 成本...

  • 初识Hadoop

    Hadoop的学习有一段时间了,把本地的笔记整理之后写入简书,为了长久的保存,也为了与志同道合者共同学习。 Had...

  • 初识Hadoop

    Hadoop 概述 Hadoop 是开源的,分布式存储和分布式计算平台。我们可以通过它搭建大型数据仓库,PB级数据...

  • 初识Hadoop

    目录## Hadoop背景介绍 Hadoop生态圈以及各组成部分的简介 Hadoop案例感性认识 1、Hadoop...

  • 初识Hadoop

    公司领导让部门内部结成小组,研究一下Hadoop,并说哪个组做得最好,年终奖有加成。无论奖励与否,多学一点总是好的...

  • 初识Hadoop

    大数据简介 定义 大数据是指无法在一定时间范围内用常规软件工具进行处理和分析的数据集合,需要新处理模式才能具有更强...

  • 初识Hadoop

    1.什么是Hadoop 官网如下:http://hadoop.apache.org估计你们也不会点进去看 。。。 ...

  • 初识hadoop

    hadoop由hdfs、mapreduce、yarn三部分组成 hdfs:分布式文件系统 扩展性 容错性 海量数据...

  • 初识hadoop

    Hadoop介绍 Hadoop是Apache旗下的一个用java语言实现的开源软件框架,是一个存储和计算大规模数据...

网友评论

    本文标题:初识Hadoop

    本文链接:https://www.haomeiwen.com/subject/dznafftx.html