首页 > 编程知识 正文

mapreduce可以干什么,hadoop集群是什么

时间:2023-05-06 02:11:59 阅读:114264 作者:3286

1、Hadoop是什么

初识hadoop现在经常听到“大数据”这个词。 那是因为随着互联网、物联网等技术的迅速普及和应用,现在我们的生活中总是被这些数据包围着。 无论生活中的大小,背后都有相关的数据记录存储在存储空间中。

例如,你看到的这篇文章的内容存储在数据库中,当你在一个平台上看到这篇文章时,浏览记录也会记录在平台的数据存储中。

在当今大数据量时代,我们面临的问题很简单,数据量呈指数增长。 但是,硬盘访问速度并没有随着时代的发展而非常快。 向硬盘写入数据的速度当然更慢了。 以前的处理方式不能满足现阶段大数据量计算和读取的需要,互联网巨头谷歌优先推出MapReduce并行计算模型处理大数据量计算。 随后,Apache基金会以MapReduce为基础开发了hadoop框架。 这是分布式系统的基础架构,用户无需了解底层分布式的详细信息就可以开发分布式程序。 利用分布式集群进行高速存储和运算。

hadoop hadoop是Apache的开源框架,用于开发和执行分布式APP应用程序,并处理大量数据(大型数据集)。 Hadoop是处理实际问题而不是特定软件或APP应用程序的编程模型(思想),它支持基本的模块和软件。 主要学习模块包括:

1、Hadoop HDFS :分布式存储系统。

2、Hadoop YARN :任务调度和集群资源管理框架。

3、Hadoop MapReduce :基于Hadoop yarn的大型数据集并行计算处理系统。

4、其他模块以及一些hadoop生态圈的辅助工具,主要用于特定的目的或功能等。 例如:

Hbase:是一个分布式的、面向列的开源数据库。

hive :一种基于Hadoop的数据仓库工具。

pig :在Hadoop上运行的平台,用于分析和评估大型数据集。

Spark:Hadoop数据的快速通用计算引擎。

ZooKeeper:是分布式、开源的分布式APP应用程序协调服务,是Hadoop和Hbase的重要组件。

等等。 其中每个模块都有自己的功能,模块之间相互关联。 通常,hadoop是指hadoop的生态圈。

hadoop的优势虽然hadoop不是第一个分布式计算框架,但人们越来越了解和关注hadoop框架为何能脱颖而出。 主要区别如下。

1、方便: hadoop部署不需要昂贵的硬件设备,可以在常见的商用机器或云计算云服务器节点上完成部署。

2、可靠性:由于hadoop大部分在商用小型机上运行,机器会出现某些物理故障,但hadoop在出现这种故障时,数据处理没有问题。

3、可扩展的,hadoop通过增加集群节点,可以有效的扩展加快数据处理和计算的速度。 为了处理更大的数据集。

4、开发变得简单,如果没有hadoop框架的支持,自己开发适合业务需要的高效并行代码会非常麻烦。

1.1、小故事版本的解释

gddlh有计算100M文档中单词数量的任务。 此文档中有多行,每行有多个单词,每行中的单词和单词之间用空格键分隔。 对于这些处理100米订单数据的计算任务,gddlh感觉很轻松。 他先把这100米的文件复制到自己的电脑里,然后写了计算程序在他的电脑上运行后,顺利地输出了结果。

然后,gddlh接受了另一个任务,计算1t(1024g )文档中的单词数。 然后,gddlh接受另一个任务,计算一个1p(1024t )文档中的单词的个数……

面对如此大的数据,gddlh的一台计算机已经存储不下去了,无法计算如此大的数据文件中有多少词。 机智的gddlh连接百度互联网,他在百度的输入框里写道:“大数据的存储和计算怎么办? 按回车键,显示有关Hadoop的页面。

看了很多页面后,gddlh总结了一句话。 Hadoop是一种存储大量数据并分析大量数据的工具。

1.2、稍专业点的解释

Hadoop是一个以java语言编写的开源框架,用于在分布式服务器群集中存储大量数据并运行分布式分析APP应用程序,其核心部分是HDFS和MapReduce。

HDFS是分布式文件系统。 部署存储文件元数据信息的服务器Namenode和实际存储数据的服务器Datanode,然后分散存储和读取数据。

MapReduce是一个计算框架。 MapReduce的核心思想是将计算任务分配给群集中的服务器并执行。 通过分割计算任务(映射计算/Reduce计算),根据任务调度器(作业跟踪程序)分配任务

进行分布式计算。

1.3、记住下面的话:

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。

把MapReduce理解成为一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。

2、Hadoop能干什么

大数据存储:分布式存储

日志处理:擅长日志分析

ETL:数据抽取到oracle、mysql、DB2、mongdb及主流数据库

机器学习: 比如Apache Mahout项目

搜索引擎:Hadoop + lucene实现

数据挖掘:目前比较流行的广告推荐,个性化广告推荐

Hadoop是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。

实际应用:

(1)Flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析

 

(2)酷狗音乐的大数据平台

 

3、怎么使用Hadoop

3.1、Hadoop集群的搭建

无论是在windows上装几台虚拟机玩Hadoop,还是真实的服务器来玩,说简单点就是把Hadoop的安装包放在每一台服务器上,改改配置,启动就完成了Hadoop集群的搭建。

3.2、上传文件到Hadoop集群

Hadoop集群搭建好以后,可以通过web页面查看集群的情况,还可以通过Hadoop命令来上传文件到hdfs集群,通过Hadoop命令在hdfs集群上建立目录,通过Hadoop命令删除集群上的文件等等。

3.3、编写map/reduce程序

通过集成开发工具(例如eclipse)导入Hadoop相关的jar包,编写map/reduce程序,将程序打成jar包扔在集群上执行,运行后出计算结果。

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。