博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop入门简介
阅读量:5749 次
发布时间:2019-06-18

本文共 1575 字,大约阅读时间需要 5 分钟。

一、Hadoop简介

1.1、Hadoop主要进行分布式存储和分布式计算

  1.1-1、HDFS:分布式文件系统

  1.1-2、MapReduce:并行计算框架

1.2、Hadoop用来做什么

  搭建大型的数据仓库

  搜索引擎、日志分析、数据挖掘

1.3、优势:

  高扩展、低成本、成熟的生态圈

二、Hadoop核心

2.1、HDFS

  2.1.1 简介

     文件被分成块进行存储(默认块的大小是64MB),HDFS两个重要节点NameNode和DataNode

  1)NameNode:管理节点,存储源文件

    (1)存储文件与数据块的映射表

    (2)存储数据块与DataNode的映射表

  2)DataNode:数据节点

    用于存放数据块

   

  2.1.3 HDFS的数据存储和容错

  1)对每个数据块存储3份,2份在同一机架,1份在另一机架

  2)心跳检测,DataNode定期向NameNode发送心跳消息。

  3)二级NameNode(对NameNode的数据进行同步备份,),NameNode故障以后,切换到二级NameNode

  2.1.4 HDFS文件读取

  1)读取文件

   

    (1) 客户端向NameNode请求数据

    (2) NameNode查询源数据,回复客户端,文件包括哪些块,这些块分别位于哪个DataNode

    (3)客户端分别对DataNode读取块,将block组装成源文件

  2)写文件

  

    (1)客户端将文件拆分成块,发送给NameNode

    (2)NameNode发挥给客户端一系列可用的DataNode

    (3)客户端将数据写入到DataNode,

    (4)DataNode对数据进行流水线复制,保留三份

    (5)更新源数据,DataNode向NameNode汇报数据

  2.1.5 HDFS的特点

  1) 数据冗余,硬件容错(三备份)

  2) 流式数据访问(1次写入,多次读取,写入后无法修改)

  3) 适合存储大文件,(小文件对NameNode的负载压力大)

  2.1.6 HDFS适应性和局限性

  1) 适合数据批量读写,吞吐量高。不适合交互式应用,低延时很满足(例如数据库)

  2) 适合一次写入,多次读取,顺序写入。不支持多用户并发写相同的文件。

2.2、MapReduce

  2.2.1 简介

  MapReduce(一个大任务分成小的子任务,并行执行后,合并结果)

  Map:大任务拆分成多个子任务

  Reduce:并行计算后,合并结果

  2.2.2 MapReduce运行流程

     1、基本概念

    -Job & Task(一个Job分成多个task,task分为MapTask和ReduceTask)(例如统计日志中每个IP出现的次数,这就是一个Job)

    -JobTracker:作业调度、分配任务、监控任务执行进度、监控TaskTracker的状态

    -TaskTracker:执行任务、向JobTracker汇报任务状态

   一般配置的时候,TaskTracker与HDFS的DataNode配置在同一节点。

  

  

  2.2.3 MapReduce的容错机制

  1、重复执行(般重复执行4次以后就会放弃)

  2、推测执行:对于一个执行特别慢的TaskTracker(预测可能出现故障),在另一台机器上面重新开一个TaskTracker,执行相同的计算,两者谁先执行完,用谁的数据

  2.2.4开发Hadoop应用程序

(未完待续)

 

转载于:https://www.cnblogs.com/likailiche/p/5027814.html

你可能感兴趣的文章
5年前端开发程序员教你如何写简历!看完别再问为何你只值5K
查看>>
小技巧:SpringBoot项目如何让前端开发提高效率?
查看>>
CAShaperLayer&UIBezierPath系列(一)
查看>>
GAN 学习笔记(不断更新)
查看>>
创建一个python类
查看>>
使用JS创建条形码在线生成工具-toolfk.com
查看>>
【Linux面试】命令篇(附答案)
查看>>
[译] part 9: golang 循环语句
查看>>
每日一算 -- 斐波那契数列类型题
查看>>
SpringBoot整合Dubbo案例
查看>>
人工智能/数据科学比赛汇总 2019.3
查看>>
阿里云数据库MySQL版快速上手!
查看>>
stimulsoft入门教程:分层报表(下)
查看>>
和苹果管理层发生冲突 Siri旧部悉数离职
查看>>
知名独角兽公司offer面经
查看>>
LinkedIn开源Kafka Monitor
查看>>
java B2B2C Springboot多租户电子商城系统- gateway之filter篇
查看>>
Kafka 如何做到 1 秒发布百万条消息
查看>>
如何选择数据库硬件环境?
查看>>
spring cloud构建互联网分布式微服务云平台-服务网关zuul
查看>>