hadoop零基础入门01

hadoop概述:

什么是hadoop:Hadoop是一个适合海量数据的分布式存储和分布式计算的平台。

服务器(节点) 可以理解为我们的一台笔记本/台式机 在这里可以认为是我们的一台虚拟机 后面学习中,我们会把一台服务器称为一个节点
机架 负责存放服务器的架子

hadoop组件介绍:

hadoop是一个统称,目前hadoop主要包含三大组件

1、hdfs:是一个分布式存储框架,适合海量数据存储

2、mapreduce:是一个分布式计算框架,适合海量数据计算

3、yarn:是一个资源调度平台,负责给计算框架分配计算资源

hadoop的1.0和2.0的对比:

1、 Hadoop1.0即第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个DateNode组成,MapReduce由一个JobTracker和多个TaskTracker组成。


2、Hadoop2.0即第二代Hadoop为克服Hadoop1.0中的不足:
针对Hadoop1.0单NameNode制约HDFS的扩展性问题,提出HDFS Federation(联盟),它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,同时彻底解决了NameNode单点故障问题;

3、针对Hadoop1.0中的MapReduce在扩展性和多框架支持等方面的不足,它将JobTracker中的资源管理和作业控制分开,分别由ResourceManager(负责所有应用程序的资源分配)和ApplicationMaster(负责管理一个应用程序)实现,即引入了资源管理框架Yarn。同时Yarn作为Hadoop2.0中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度,不仅限于MapReduce一种框架,也可以为其他框架使用,如Tez、Spark、Storm等。

 分布式存储

从三台服务器拿取数据分别读取写入

 

 在分布式存储系统中,分散在不同节点中的数据可能属于同一个文件。

为了组织众多的文件,把文件可以放到不同的文件夹中,文件夹可以一级一级的包含。我们把这种组织形式称为命名空间(namespace)。命名空间管理着整个服务器集群中的所有文件。    

集群中不同的节点承担不同的职责。 负责命名空间职责的节点称为主节点(master node) 负责存储真实数据职责的节点称为从节点(slave node)。

主节点负责管理文件系统的文件结构,从节点负责存储真实的数据,称为主从式结构(master-slaves)。

用户操作时,应该先和主节点打交道,查询数据在哪些从节点上存储,然后再到从节点读取。 在主节点上,为了加快用户访问的速度,会把整个命名空间信息都放在内存中,当存储的文件越多时,那么主节点就需要越多的内存空间。

在从节点存储数据时,有的原始数据文件可能很大,有的可能很小,大小不一的文件不容易管理,那么可以抽象出一个独立的存储文件单位,称为块(block)。

数据存放在集群中,可能因为网络原因或者节点硬件原因造成访问失败,最好采用副本(replication)机制,把数据同时备份到多台节点中,这样数据就安全了,数据丢失或者访问失败的概率就小了。

 HDFS的介绍:

 负责数据的分布式存储

主从结构

主节点,最多可以有2个:namenode

从节点,有多个:datanode

namenode负责

接收用户操作请求,是用户操作的入口

维护文件系统的目录结构,称作命名空间

datanode负责 存储数据

 mapreduce架构分析

 依赖磁盘io的批处理计算模型

主从结构

主节点,只有一个: MRAppMaster

从节点,就是具体的task

MRAppMaster负责 接收客户端提交的计算任务

把计算任务分给NodeManager的Container中执行,即任务调度

Container是YARN中资源的抽象,它封装了某个节点上一定量的资源(CPU和内存两类资源)

Container由ApplicationMaster向ResourceManager申请的,由ResouceManager中的资源调度器异步分配给ApplicationMaster

Container的运行是由ApplicationMaster向资源所在的NodeManager发起的

监控Container中Task的执行情况

Task负责: 执行任务

 

yarn架构分析

 资源的调度和管理平台

 主从结构

 主节点,最多可以有2个:ResourceManager

 从节点,有很多个: NodeManager

 ResourceManager负责 集群资源的分配与调度 MapReduce、Storm、Spark等应用,必须实现ApplicationMaster接口,才能被RM管理

 NodeManager负责

 单节点资源的管理

 hadoop特点

    扩容能力(Scalable):能可靠(reliably)地存储和处理PB级别的数据。如果数据量更大,存储不下了,再增加节点就可以了。

    成本低(Economical):可以通过普通机器组成的服务器集群来分发以及处理数据.这些服务器集群可达数千个节点。

    高效率(Efficient):通过分发计算程序,hadoop可以在数据所在节点上(本地)并行地(parallel)处理他们,这使得处理非常的迅速

    可靠性(Reliable):hadoop能够自动地维护数据的多份副本,并且在任务失败后能够自动地重新部署(redeploy)计算任务.

 

hadoop集群启动脚本介绍(以下所说的命令都在hadoop的bin目录下面)

 第一种:

  全部启动集群所有进程 启动:sbin/start-all.sh

  停止:sbin/stop-all.sh

第二种:

  单独启动hdfs【web端口50070】和yarn【web端口8088】的相关进程

  启动:sbin/start-hdfs.sh  sbin/start-yarn.sh

  停止:sbin/stop-hdfs.sh  sbin/stop-yarn.sh

  每次重新启动集群的时候使用

第三种:

  单独启动某一个进程

  启动hdfs:sbin/hadoop-daemon.sh start (namenode | datanode)

  停止hdfs:sbin/hadoop-daemon.sh stop (namenode | datanode)

  启动yarn:sbin/yarn-daemon.sh start (resourcemanager | nodemanager)

  停止yarn:sbin/yarn-daemon.sh stop(resourcemanager | nodemanager)

  用于当某个进程启动失败或者异常down掉的时候,重启进程

 

 hdfs的shell 一些常用命令

 调用文件系统(FS)Shell命令应使用 bin/hdfs dfs -xxx 的形式。

如: 

bin/hdfs dfs-ls    /         路径为空,表示显示/user/<currentUser>         

-h选项,表示文件大小显示时,使用合适的单位         

-R选项,表示递归显示路径的所有内容     

-put    localSrc   hdfsdst         从本地上传文件(夹)到hdfs。如果hdfs已经存在同名的文件(夹),就报错。         

-f选项,表示覆盖hdfs的同名文件(夹)         

-p选项,表示上传时保留文件原来的ownerid、groupid、accesstime、modification time属性     

-get    hdfssrc    localdst         从hdfs下载文件到本地     

-mkdir    hdfsdst         创建文件夹         

-p选项,表示递归创建文件夹     

-cp    hdfssrc    hdfsdst             在hdfs中复制     

-help    cmd         显示hdfs的命令的帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值