【大数据】初识Hadoop
2024-09-07 16:04:54
因为项目日志体量较大,每天有4-7T的日志量,传统的sqlserver已经不能满足,所以现在需要使用到大数据的相关工具进行记录和使用。
虽然公共项目提供了组件和解决方案,但是对于一些名词、概念还是有必要学习一下。
Hadoop历史
- 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
- 随后在2003年Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS也就是google File System,google公司为了存储海量搜索数据而设计的专用文件系统。
- 2004年Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。
- 2004年Google又发表了一篇技术学术论文MapReduce。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行分析运算。
- 2005年Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。
- 2006年,Yahoo雇用了Doug Cutting,Doug Cutting将NDFS和MapReduce升级命名为Hadoop,Yahoo开建了一个独立的团队给Goug Cutting专门研究发展Hadoop。
- 不得不说Google和Yahoo对Hadoop的贡献功不可没。
Hadoop核心
HDFS:(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。
设计特点:
1、大数据,T级别,适用。
2、文件分块存储。将完整的文件分为M级别大小存储在不同的节点上,读取时从多个节点一起读取,效率高。
3、流式数据访问。适用于一次写入就不在变化的场景,可多次读取。
4、廉价硬件。
5、硬件故障。认为所有机器都可能出问题,会将文件存储多个副本在别的节点机器上。
核心元素:
- Block:将一个文件进行分块,通常是64M。
- NameNode:保存整个文件系统的目录信息、文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode就失效了。在Hadoop2.*开始支持activity-standy模式----如果主NameNode失效,启动备用主机运行NameNode。
- DataNode:分布在廉价的计算机上,用于存储Block块文件。
MapReduce:一套从海量数据中提取分析元素最后返回的编程模型。
- Map:将文件分组,计算,得出一个结果。
- Reduce:将Map的结果归纳,计算,得出最终的结果。
最新文章
- CentOS7 安装 net-speeder 提升 VPS 网络性能
- WebService的介绍概念 收藏
- u3d_shader_surface_shader_4
- 获取登陆ip
- Oracle技术嘉年华
- 关于extern和static关键字引出的一些关于作用域和链接属性和存储类型的问题
- Web2py也有意思的
- udp 不需要 listen
- 设计模式之(二)Adapter模式
- Tomcat教程
- DRP——Servlet(一)
- mybatis 批量插入值的sql
- Triangle Problems
- 一个小时学会Git
- Java虚拟机系列-Java类加载机制
- Docker 列出镜像
- Exp5 MSF基础应用
- 【转】如何在 GitHub 上找到你要的代码?
- USB 驱动(监测鼠标左键的动作)
- 导入转储文件的时候:Error Code: 1406. Data too long for column - MySQL