BigData之Hadoop:Hadoop的简介、深入理解、下载、案例应用之详细攻略(一)

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: BigData之Hadoop:Hadoop的简介、深入理解、下载、案例应用之详细攻略

Hadoop的简介


     Apache™ Hadoop® 项目为可靠、可扩展、分布式计算开发开源软件。apachehadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它被设计成从单个服务器扩展到数千台机器,每台都提供本地计算和存储。与依赖硬件来提供高可用性不同,库本身的设计目的是在应用程序层检测和处理故障,因此在一组计算机上提供高可用性服务,每台计算机都可能发生故障。

     Hadoop的框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。Hadoop的高吞吐,海量数据处理的能力使得人们可以方便地处理海量数据。但是,Hadoop的缺点也和它的优点同样鲜明——延迟大,响应缓慢,运维复杂。

     Hadoop原本来自于谷歌一款名为MapReduce的编程模型包。谷歌的MapReduce框架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集。使用该框架的一个典型例子就是在网络数据上运行的搜索算法。Hadoop最初只与网页索引有关,迅速发展成为分析大数据的领先平台。


       Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

       Hadoop的框架最核心的设计就是:HDFS和MapReduce。


HDFS为海量的数据提供了存储,

MapReduce则为海量的数据提供了计算。MapReduce可以普遍应用于很多大规模数据的计算问题。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。

          HDFS和MapReduce共同组成Hadoop分布式系统体系结构的核心。HDFS在集群上实现了分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成分布式集群的主要任务。



官网:

https://hadoop.apache.org/

Apache Hadoop 3.2.1




1、HDFS体系结构图


         HDFS作为分布式文件系统在数据管理方面可借鉴点——文件块的放置。一个Block会有三份备份,一份在NameNode指定的DateNode上,一份放在与指定的DataNode不在同一台机器的DataNode上,一根在于指定的DataNode在同一Rack上的DataNode上。备份的目的是为了数据安全,采用这种方式是为了考虑到同一Rack失败的情况,以及不同数据拷贝带来的性能的问题。



image.png

图示:NameNode是管理者,DataNode是文件存储者,Client客户端是需要获取分布式文件系统的应用程序。


文件写入


(1)、 Client向NameNode发起文件写入的请求。

(2)、 NameNode根据文件大小和文件块配置情况,返回给Client它管理的DataNode的信息。

(3)、 Client将文件划分为多个block,根据DataNode的地址,按顺序将block写入DataNode块中。


文件读取


(1)、Client向NameNode发起读取文件的请求。

(2)、NameNode返回文件存储的DataNode信息。

(3)、Client读取文件信息。





Hadoop的深入理解


0、深入了解Hadoop的其它相关基础知识


0.1、Hbase数据管理——Hadoop database


BigData之Hbase:Hbase数据管理的简介、下载、案例应用之详细攻略




0.2、Hive数据管理——建立在Hadoop上的数据仓库基础架构


BigData之Hive:Hive数据管理的简介、下载、案例应用之详细攻略




0.3、MongDB基于分布式文件存储数据库


BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略



 


相关文章
|
4月前
|
消息中间件 分布式计算 大数据
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
72 0
|
6月前
|
分布式计算 搜索推荐 Hadoop
03 Hadoop国内外应用案例介绍
03 Hadoop国内外应用案例介绍
29 0
|
8月前
|
数据采集 分布式计算 搜索推荐
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
|
4月前
|
分布式计算 Hadoop 大数据
大数据hadoop练习___出租车MRWordCount案例
大数据hadoop练习___出租车MRWordCount案例
25 0
|
4月前
|
分布式计算 并行计算 Hadoop
【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)
【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)
103 0
|
4月前
|
分布式计算 安全 Java
深入理解Java GSS(含kerberos认证及在hadoop、flink案例场景举例)
深入理解Java GSS(含kerberos认证及在hadoop、flink案例场景举例)
56 0
|
5月前
|
分布式计算 Hadoop Java
Hadoop学习笔记:运行wordcount对文件字符串进行统计案例
Hadoop学习笔记:运行wordcount对文件字符串进行统计案例
33 0
|
6月前
|
SQL 机器学习/深度学习 开发框架
04 Hadoop生态圈以及各组成部分的简介
04 Hadoop生态圈以及各组成部分的简介
29 0
|
8月前
|
XML 分布式计算 资源调度
Hadoop本地运行模式(Grep案例和WordCount 案例)
Hadoop本地运行模式(Grep案例和WordCount 案例)
166 1
|
8月前
|
SQL 分布式计算 资源调度
Hadoop简介和体系架构
Hadoop简介和体系架构
204 0

相关实验场景

更多