大数据开发生态圈之Apache Hadoop简介

Hadoop概述

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

分布式存储

    在分布式存储系统中,分散在不同节点中的数据可能属于同一个文件,为了组织众多的文件,把文件可以放到不同的文件夹中,
文件夹可以一级一级的包含。我们把这种组织形式称为命名空间(namespace)。命名空间管理着整个服务器集群中的所有文件。

分布式计算

    把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计
算结果综合起来得到最终的结果。

Hadoop关联项目

AmbariTM:基于web能够提供资源、监控、管理Hadoop集群的操作工具。
AvroTM:数据序列化系统。
HBaseTM:能支持结构化数据大表存储的可扩展的、分布式的数据库。
HiveTM:能够支持数据的汇总和临时查询的数据仓库基础框架。
MahoutTM:一个可扩展的机器学习和数据挖掘库。
PigTM:高级数据流语言和并行计算执行框架
SparkTM:一个快速和通用的计算Hadoop数据引擎。
TezTM:一个通用的数据流编程框架。
ZooKeeperTM:一个分布式应用的高性能协调的服务。

Hadoop版本

Hadoop的版本大致分为以下:
Apache
官方版本
Cloudera(CDH)
使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些补丁。推荐使用。
HortonWorks(HDP)
基于Apache的版本进行了集成。
MapR

Hadoop模块构成

Hadoop2包括4个模块

Hadoop Common
The common utilities that support the other Hadoop modules.
Hadoop Distributed File System(HDFSTM)
A distributed file system that provides high-throughput access to application data.
Hadoop Yarn
A framework for job scheduling and cluster resource management.
Hadoop MapReduce
A YARN-based system for parallel processing of large data sets.

Hadoop1和Hadoop2简介

Hadoop1
HDFS:Hadoop Distributed File System 分布式文件系统
MapReduce:分布式计算模型
Hadoop2
HDFS2: Hadoop Distributed File System 分布式文件系统
Yarn:资源管理平台,在上面运行分布式计算,典型的计算模型有
MapReduce、Storm、Spark等。

详细可参考http://hadoop.apache.org

原文地址:https://blog.51cto.com/14306339/2384829

时间: 2024-11-09 03:06:34

大数据开发生态圈之Apache Hadoop简介的相关文章

Hadoop大数据开发学习路线图阶段一

Hadoop发展到今天家族产品已经非常丰富,能够满足不同场景的大数据处理需求.作为目前主流的大数据处理技术,市场上很多公司的大数据业务都是基于Hadoop开展,而且对很多场景已经具有非常成熟的解决方案. 作为开发人员掌握Hadoop及其生态内框架的开发技术,就是进入大数据领域的必经之路. 下面详细介绍一下,学习Hadoop开发技术的路线图. Hadoop本身是用java开发的,所以对java的支持性非常好,但也可以使用其他语言. 下面的技术路线侧重数据挖掘方向,因为Python开发效率较高所以我

2018年最新Hadoop大数据开发学习路线图

Hadoop发展到今天家族产品已经非常丰富,能够满足不同场景的大数据处理需求.作为目前主流的大数据处理技术,市场上很多公司的大数据业务都是基于Hadoop开展,而且对很多场景已经具有非常成熟的解决方案. 作为开发人员掌握Hadoop及其生态内框架的开发技术,就是进入大数据领域的必经之路. 下面详细介绍一下,学习Hadoop开发技术的路线图. Hadoop本身是用java开发的,所以对java的支持性非常好,但也可以使用其他语言. 下面的技术路线侧重数据挖掘方向,因为Python开发效率较高所以我

大数据开发:剖析Hadoop和Spark的Shuffle过程差异

一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么要想求得某个key对应的全量数据,那就必须把相同key的数据汇集到同一个Reduce任务节点来处理,那么Mapreduce范式定义了一个叫做Shuffle的过程来实现这个效果. 二.编写本文的目的 本文旨在剖析Hadoop和Spark的Shuffle过程,并对比两者Shuffle的差异. 三.Had

数道云大数据平台解决方案,Hadoop + HDFS+Hive+Hbase大数据开发整体架构设计

波若大数据平台(BR-odp)Hadoop + HDFS+Hive+Hbase大数据开发工具剖析: HDFS:分布式.高度容错性文件系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,大规模的波若大数据平台(BR-odp)用户部署上1000台的HDFS集群.数据规模高达50PB以上 HDFS和MR共同组成Hadoop分布式系统体系结构的核心.HDFS在集群上实现了分布式文件系统,MR在集群上实现了分布式计算和任务处理.HDFS在MR任务处理过程中提供了文件操作和存储等支持,MR在HDF

大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术

大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言. 我们可以带着下面问题来阅读本文章: 1.hadoop都包含什么技术 2.Cloudera公司与hadoop的关系是什么,都有什么产品,产品有什么特性 3. Spark与hadoop的关联是什么? 4. Storm与hadoop的关联是什么

大数据系列(1)——Hadoop集群坏境搭建配置

前言 关于时下最热的技术潮流,无疑大数据是首当其中最热的一个技术点,关于大数据的概念和方法论铺天盖地的到处宣扬,但其实很多公司或者技术人员也不能详细的讲解其真正的含义或者就没找到能被落地实施的可行性方案,更有很多数据相关的项目比如弄几张报表,写几个T-SQL语句就被冠以“大数据项目”,当然了,时下热门的话题嘛,先把“大数据”帽子扣上,这样才能显示出项目的高大上,得到公司的重视或者高层领导的关注. 首先,关于大数据的概念或者架构一直在各方争议的背景下持续的存在着.目前,关于大数据项目可以真正被落地

学习大数据必须了解的大数据开发课程大纲

大数据开发最核心的课程就是Hadoop框架,几乎可以说Hadoop就是大数据开发.这个框架就类似于Java应用开发的SSH/SSM框架,都是Apache基金会或者其他Java开源社区团体的能人牛人开发的贡献给大家使用的一种开源Java框架. Java语言是王道就是这个道理,Java的核心代码是开源的,是经过全球能人牛人共同学习共同研发共同检验的,所以说Java是最经得住检验的语言,而且任何人都可以学习Java核心技术并且使用核心技术开发出像android一样的系统和Hadoop一样的框架.如果把

大数据系列(2)——Hadoop集群坏境CentOS安装

前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMware虚拟机.CentOS 6.8 64 bit 安装流程 因为我的笔记本是Window7操作系统,然后内存配置,只有8G,内存配置太低了,当然为了演示,我会将Hadoop集群中的主节点分配2GB内存,然后剩余的三个节点都是1GB配置. 所有的节点存储我都设置为50GB. 在安装操作系统之前,我们需要

【老男孩教育】2018年最新版大数据开发课程表

老男孩教育大数据开发课程适合所有对大数据开发有兴趣的人员,从JavaSE 到大数据生态圈高端课程的开发.课程内容量很大,有一定的难度和深度,认真学习,,技术会有很大程度的提升. 第一阶段:JavaSE+MySql+Linux 学习内容:Java 语言入门 → OOP 编程 → Java 常用Api.集合 → IO/NIO → Java 实 用技术 → Mysql 数据库 → 阶段项目实战 → Linux 基础 → shell 编程 学习目标:学习java语言,掌握java程序编写.面向对象程序开