热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

每天收获一点点Hadoop概述

一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明

一、Hadoop来历

  Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明了倒排索引算法,通过加入了Map-reduce的思想来计算Page Rank,通过不断的演变Google带给我们了GFS、Map-Reduce、Bigtable这三大的关键技术和思想。由于Google的这些技术没有开源代码。有个人就模仿Google实现了类似Google全文搜索功能的框架Lucene,它提供了全文检索引擎的架构,包括完整的查询引擎和搜索引擎。面临大数据的情况下,Lucene面对与Google同样的困难。就使得Lucene的作者模仿着Google解决的这些问题在lucene项目下做了一个子项目Nutch。几年以后Google公开了部分GFS和Mapreduce的思想细节,作者在此为基础上做出了Hadoop,Hadoop作为 Lucene的子项目Nutch的一部分正式引入了Apache基金。

  二、Hadoop解决了什么问题?

  随着时间的推移Hadoop一步步的进步解决了一下几个问题:

  1、海量数据的及时分析和处理。

  2、海量数据深入分析和挖掘。

  3、数据的长期保存。

  4、实现云计算。

  5、能在数千个节点上运行,处理数据量和排序时间不断的缩短。

  三、Hadoop基本架构。

  3.1 Hadoop框架的基本构成。

  HBase:NoSql数据库,Key-Value存储,NoSql的数据库链式存储,数据分析提高相应速度。最大化 利用内存。

  HDFS: Hadoop distribute file system 分布式文件系统,最大化利用磁盘

  MapReduce:编程模型主要用来做数据的分析,最大化利用CPU。

  Pig:用户与MapReduce的转换器。

  Hive :SQL语言到MapReduce的转换器。

  Zookeeper:服务器节点和进程之间的通讯。

  chukwa:数据集成通讯。

  3.2 Hadoop框架集群架构

  Namenode:HDFS的守护程序,记录文件是如何分割成数据块的。以及这些数据块被存储到哪些节点上。对内存和I/O进行集中管理。是个单点,发生故障将使集群崩溃。

  Secondary Namenode: 监控HDFS状态的辅助后台程序,在每一个集群都有一个,与NameNode进行通讯保存HDFS元数据快照,当NameNode故障可以作为备用NameNode使用。

  DateNode:每台从服务器都运行一个负责把HDFS数据块读写到本地文件系统。

  JobTracker:用于处理用户提交代码的后台程序,决定由哪些文件参与处理,然后切割task并分配节点。监控task,重启失败的task,每个集群只有唯一一个JobTracker位于Master节点。

  四、总结。

  Hadoop的出现解决了我们大数据分析和挖掘,还大大降低了成本,不用买什么很强大的服务器,只要是个PC机我们就可以把它挂到Hadoop节点上就可以让它为我们大数据的分析和挖掘做贡献。Hadoop还解决了我们关于大数据的存储问题,这样我们就不用担心大数据对磁盘I/0操作带来的瓶颈。

 

 

欢迎各位来探讨交流:QQ:747861092

QQ群:163354117    (群名称:CodeForFuture)

转:https://www.cnblogs.com/yangxiao99/p/4593583.html



推荐阅读
  • 58同城的Elasticsearch应用与平台构建实践
    本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 从码农到创业者:我的职业转型之路
    在观察了众多同行的职业发展后,我决定分享自己的故事。本文探讨了为什么大多数程序员难以成为架构师,并阐述了我从一家外企离职后投身创业的心路历程。 ... [详细]
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • Spring Cloud学习指南:深入理解微服务架构
    本文介绍了微服务架构的基本概念及其在Spring Cloud中的实现。讨论了微服务架构的主要优势,如简化开发和维护、快速启动、灵活的技术栈选择以及按需扩展的能力。同时,也探讨了微服务架构面临的挑战,包括较高的运维要求、分布式系统的复杂性、接口调整的成本等问题。最后,文章提出了实施微服务时应遵循的设计原则。 ... [详细]
  • 微型计算机主机的关键组件解析
    本文详细探讨了微型计算机主机的核心组成部分,包括微处理器、内存储器、输入输出接口等,并解释了这些部件如何协同工作以构建一个完整的微型计算机系统。 ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文详细探讨了成为一名合格的初级Java工程师所需掌握的知识体系,以及从初级到中级乃至高级工程师的成长路径和职业发展前景。 ... [详细]
author-avatar
喵喵心碎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有