Hadoop 是什么 ?
随着数据量的急剧增加,遇到的两个最直接的问题就是数据存储和计算 ( 分析 / 利用 ) 。
Hadoop 是由 Apache 基金会所开发的一个用 Java 实现的分布式基础框架,也可以看做是一个支持开发、运行由通用计算设备组成的大型集群上的分布式应用的平台。 Hadoop 中的两个最重要的组件— HDFS 和 MapReduce 就是用来解决海量数据 ( 分布式 ) 存储、海量数据 ( 分布式 ) 计算的。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop 实现了一个分布式文件系统( Hadoop Distributed File System ),简称 HDFS 。 HDFS 有高容错性的特点,并且设计用来部署在低廉的( low-cost )硬件上;而且它提供高吞吐量( high throughput )来访问应用程序的数据,适合那些有着超大数据集( large data set )的应用程序。 HDFS 放宽了( relax ) POSIX 的要求,可以以流的形式访问( streaming access )文件系统中的数据。
HDFS 有两种节点, NameNode 和 DataNode 。 DataNode 主要用来存储数据, NameNode 管理着整个文件系统的交互。相对于普通的文件系统, HDFS 显著的特点是分布式海量存储、备份机制。
Hadoop 的框架最核心的设计就是: HDFS 和 MapReduce 。 HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。 MapReduce :并行计算框架, MapReduce 其实是一种分布式计算模型,多个计算机并行计算,共同做一件事情。
Hadoop 的应用场景:
简单认识了什么是 Hadoop ,再来了解一下 Hadoop 一般都适用于哪些场景。
Hadoop 主要应用于大数据量的离线场景,特点是大数据量、离线。
数据量大:一般真正线上用 Hadoop 的,集群规模都在上百台到几千台的机器。这种情况下, T 级别的数据也是很小的。
离线: Mapreduce 框架下,很难处理实时计算,作业都以日志分析这样的线下作业为主。另外,集群中一般都会有大量作业等待被调度,保证资源充分利用。
另外,由于 HDFS 设计的特点, Hadoop 适合处理文件块大的文件。大量的小文件使用 Hadoop 来处理效率会很低。
Hadoop 常用的场景有:
大数据量存储:分布式存储(各种云盘,百度, 360~ 还有云平台均有 hadoop 应用)
l 日志处理
l 海量计算,并行计算
l 数据挖掘 ( 比如广告推荐等)
l 行为分析,用户建模等
l ……
更多 Hadoop 课程:https://edu.aliyun.com/course/1330?utm_content=g_1000056844
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69926013/viewspace-2650008/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69926013/viewspace-2650008/