`

Hadoop 基础知识

 
阅读更多
什么是Hadoop?
面向大数据处理
擅长离线数据分析
分布式文件系统+计算框架(HDFS+MapReduce)
Hadoop不是数据库,Hbase才是数据库
Hadoop是一个快速进化的生态系统
Hadoop会使用在哪些行业? 电子商务,移动运营商

什么是大数据?
大数据是个相对概念,基于目前的软硬件水平,满足不了预期性能的的数据量,就被称为大数据。



Hadoop子项目家族

Hbase		Pig	Hive		Chukwa
MapReduce	HDFS	Zoo Keeper
Core		Avro

Core:Hadoop的核心代码
MapReduce:Hadoop的分布式计算框架
HDFS:分布式文件系统
Pig:轻量级语言,系统自动转换成MapReduce程序语言,进行MapReduce工作,然后把结果返回给用户。它的作用是用户和MapReduce转换器这样一个组件。
Hive:查询MapReduce的SQL语言。
Hbase: 列式数据库,非关系型数据库, 面向数据分析
ZooKeeper: 负责服务器及进程之间的通信
Chukwa:数据集成工具。将各个数据源加载到Hadoop里面进行数据分析。

Hadoop的架构(Hadoop的后台进程)

Switch相当于网络交换机

Namenode
当用户跟Hadoop集群打交道时,Hadoop会首先访问Namenode,获得文件分布的信息,它是分布在哪些数据节点里面,
然后才跟数据节点打交道,将数据拿到。
1.是HDFS的守护程序,起到分布式文件系统的总控作用,它记录所有的元数据,比如
2.记录文件是如何分割成数据块的,以及这些数据块被存储在哪些节点。
3.对内存和I/O进行集中管理
4.是个单点,发生故障时将使集群崩溃。

Secondary Namenode(辅助名称节点)
主要是作为NameNode的后备,可以将NameNode的数据复制成一份副本,一旦NameNode瘫痪,可以使用Secondary NameNode
代替,使集群重新运行。但这种切换目前还无法自动切换。
1.监控HDFS状态的辅助后台程序
2.每个集群都有一个
3.与NameNode进行通讯,定期保存HDFS元数据快照
4当NameNode故障可以作为备用NameNode使用。

DataNode(数据节点)
每台服务器都运行一个
负责把HDFS数据块读写到本地文件系统 

JobTracker
1.用于处理作业(用户提交代码)的后台程序
2.决定哪些文件参与处理,然后切割成task并分配节点。
3.监控task,重启失败的task
4.每个集群只有一个JobTracker,位于Master节点。


TaskTracker
1.位于slave节点,与datanode结合(代码与数据一起的原则)
2.管理各自节点的task(由jobtracker分配)
3.每个节点只有一个tasktracker,但一个tasktracker可以启动多个jvm,用户并行执行map或reduce任务
4.与jobtracker交互


Master与Slave

Master:运行Namenode,secondary,jobtracker程序的服务器。
Slave:运行Datanode,tasktracker的机器。
Master不是唯一的。



关于Google的技术问题

1.大量的网页怎么存储?
保存在内存中,为了防止断电导致数据丢失,会采取冗余的方式保存多个地方。

2.Google如何快速搜索? 搜索算法
倒排索引
Google会先对网页内容进行分词,比如我爱北京广场会被分为
单词ID | 单词 | 倒排列表(DocID;TF)
1.我,(1,1)
2.爱
3.北京
4.广场
然后同一行内保存这个词在哪些网页中存在,以及便宜量。比如第一个网页,偏移量为1.
假如搜索我,google先找到我这个单词,单词上已建立索引,根据倒排列表可以迅速找到哪些网页存在这个词。

3.Page_Rank(网页价值)计算问题
这是Google最核心的算法,用于给每个网页价值评分。

根据页面的链接个数来决定页面的价值,链接的越多,指向此页面的网页越多,则价值越大。
另外还根据页面的page rank来决定指向的价值,比如国务院的网站指向的连接,就价值比普通的个人网站指向
价值高很多。

1->1	2->1	3->1	4->1
1->2	2->2	3->2	4->2
1->3	2->3	3->3	4->3
1->4	2->4	3->4	4->4

G=aS+(1-a)1/nU
S是矩阵
a是0-1的一个数,比如0.85
U是全部元素都是1的矩阵
n是网页的个数,例子中是4



数据分析者面临的问题

1.数据日趋庞大,无论是入库还是查询,都会出现性能瓶颈。
2.用户的应用和分析结果呈整合趋势,对实时性和相应时间要求越来越高。
3.使用的模型越来越复杂,计算量指数级上升。

数据分析者期待的解决方案
1.完美解决性能瓶颈,在可见未来不容易出现新瓶颈。
2.过去所拥有的技能可以平稳过渡。
3.转移平台的成本多高?平台软硬件成本,再开发成本,技能培养成本,维护成本。

Why not Hadoop?
Java?
难以驾驭?
数据集成困难?
Hadoop vs Oracle

 

分享到:
评论

相关推荐

    hadoop基础知识

    【Hadoop基础知识】 Hadoop是大数据处理领域的重要框架,它主要由两个核心组件构成:Hadoop Distributed File System(HDFS)和MapReduce。HDFS是一个分布式文件系统,它设计为在低成本硬件上运行,具有高容错性,...

    hadoop基础知识扫盲

    大数据hadoop基础知识扫盲,初步了解什么是hadoop

    hadoop基础知识学习与总结

    【Hadoop基础知识学习与总结】 Hadoop是一个由Apache基金会开发的开源分布式系统基础架构,它的设计目标是处理和存储海量数据。Hadoop这个名字源于创始人Doug Cutting的孩子为一只棕黄色大象玩具所取的名字,象征着...

    hadoop基础.docx

    Hadoop 基础知识点总结 Hadoop 是一款开源的大数据处理框架,由 Apache 软件基金会维护。Hadoop 的出现是由于 Google 的大数据技术没有开放代码,以至于 Hadoop 成为了该技术的开源实现。 Hadoop 的功能和优势 ...

    学习hadoop--java零基础学习hadoop手册

    #### 四、Hadoop基础知识 1. **Hadoop架构**:了解Hadoop的核心组件及其作用。 2. **HDFS详解**:深入理解Hadoop分布式文件系统的工作原理。 3. **MapReduce框架**:学习MapReduce算法的工作流程和实现方法。 4. **...

    大数据与云计算培训学习资料 Hadoop之HDFS基础入门知识介绍 共42页.ppt

    大数据与云计算培训学习资料 Hadoop之HDFS基础入门知识介绍 共42页.ppt

    Hadoop大数据开发基础_教案.rar

    总之,《Hadoop大数据开发基础》教程是一个全面且深入的学习资源,覆盖了从Hadoop基础知识到项目实施的各个方面,对于希望进入大数据领域的学习者来说是一份宝贵的教材。通过这个教程,读者可以逐步掌握Hadoop技术,...

    Hadoop大数据开发基础完整版ppt整本书教学教程最全电子讲义(最新.pptx

    本资源旨在为学习Hadoop大数据开发提供详细的基础知识,涵盖了Hadoop基础知识、Java开发环境的安装和配置、Hadoop完全分布式集群的搭建等内容。 Hadoop基础知识 Hadoop是一个基于Java语言开发的分布式计算框架,...

    hadoop.zip hadoop2.7.1安装包

    Hadoop是大数据处理领域中的一个核心框架,由Apache软件基金会开发。它主要设计用于分布式存储和计算,使得海量数据...无论是学习Hadoop基础知识,还是在生产环境中部署大数据解决方案,这个安装包都是必不可少的起点。

    Hadoop技术讲解.ppt

    Hadoop 是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储大规模数据。它受到了Google的云计算技术的启发,但也有自己独特的设计和实现。Hadoop 主要由两个核心组件构成:Hadoop 分布式文件系统...

    (完整版)hadoop常见笔试题答案.docx

    这些知识点构成了Hadoop基础知识的骨架,理解和掌握它们对于理解和操作Hadoop集群至关重要。在实际工作中,Hadoop还涉及到更多复杂的应用场景和优化策略,如数据倾斜、性能调优、安全性设置等。

    HADOOP 入门

    ### Hadoop基础知识 Hadoop主要由两个核心组件构成:Hadoop Distributed File System (HDFS) 和 MapReduce。HDFS是一种分布式文件系统,能够将大量数据存储在廉价的硬件上,并且具有高容错性。MapReduce则是一种...

    《Hadoop系统搭建及项目实践》课程标准.pdf

    课程内容丰富,总计54学时,涵盖Hadoop基础知识、安装与配置、HDFS、MapReduce、Hadoop I/O操作、HBase、ZooKeeper、Hive、Pig、Sqoop和实时数据处理技术等多个项目。教学建议采用任务驱动模式,教师演示、学生实践...

    hadoop硬实战

    1. Hadoop基础知识:Hadoop是一个开源的Java平台,用于存储和处理大型数据集,它通过MapReduce模型来对数据进行分布式处理。Hadoop的核心构成包括HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)和...

    Hadoop Real-World Solutions Cookbook 源代码

    1. **Chap 1 - Hadoop基础知识**:这部分可能涉及Hadoop生态系统的基本组件,如HDFS(Hadoop分布式文件系统)和MapReduce。HDFS是Hadoop的核心,负责数据的存储,而MapReduce则是一种并行处理模型,用于大规模数据的...

Global site tag (gtag.js) - Google Analytics