大数据课程D1——hadoop的初识

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州

▲ 本章节目的

⚪ 了解大数据的概念;

⚪ 了解大数据的部门结构;

⚪ 了解hadoop的定义;

⚪ 了解hadoop的发展史;

一、大数据简介

1. 概述

  1. 美国调研机构Gartner给出了定义:大数据是一种新的处理模式,针对海量数据能够提供更强的决策力、洞察发现力和流程优化能力。

  2. 维基百科给出了定义:大数据是指无法在可承受的时间范围内用常规的软件或者法来对大量的数据进行捕捉、管理和处理。

  3. 无论哪个机构对大数据进行定义,实际上都是围绕对海量数据进行快速有效的处理方案。

2. 特点

  1. Volumn:数据体量大。很多中小型企业的入门数据量是从TB级别开始,很多大型的企业的入门数据量是从PB级别开始。很多大型的企业,累计数据量已经达到了EB甚至ZB级别。

  2. Variety:数据种类样式和来源多:

a. 种类:文本(日志)、图片、音频、视频、flash等。

b. 样式:结构化数据(数据本身有结构并且数据解析之后能够用一张或者几张固定的表来进行存储);半结构化数据(数据本身有结构但是解析之后无法用一张或者几张固定的表来进行存储,例如json,xml等);非结构化数据(数据本身没有结构并且解析之后无法用几张固定的表来进行存储)。

c. 来源:日志、爬虫、网页埋点、手动录入、数据库等。

  1. Value:数据价值密度低。价值密度指的是想要的数据在总的数据量中的占比。随着网络的发展,价值密度越来越低,但是不意味着获取到的数据越来越少,恰恰相反,获取到的数据是在变多的。只是想要的数据的增长速度比不上样本总量的增长速度。

  2. Velocity:数据增长速度快。随着网络的发展,数据的产生速度以及增长速度越来越快。

  3. Veracity:数据的质量,即数据的准确性和可信赖度。随着信息的爆炸以及网络的发展,信息的来源良莠不齐,导致数据的可信赖度变得不同。

  4. Valence:数据的连通性。随着大数据的发展,衍生出来了很多的技术、模块和产业,这个时候,就不得不考虑这些模块、技术和产业之间的关系。

  5. 随着大数据的发展,产生了越来越多的特性:Vitality(动态性)、Visualization(可视化)、Validity(合法性,例如大数据杀熟、APP的过度索权)等。

3. 应用场景

  1. 物流仓储:利用大数据对配送路线、物流中转点进行设计。

  2. 电商零售:利用大数据技术对用户的消费行为进行分析,抓住用户的心理变化,来做到精准营销。

  3. 旅游:利用大数据技术来为用户进行合理规划(经济能力、路线等)。

  4. 保险:利用大数据技术进行精准营销、风险预测。

  5. 金融:利用大数据技术对用户进行抗压预测以及风险控制。

  6. 人工智能:利用大量数据对模型进行训练,提高模型的准确性。

4. 组织结构

二、Hadoop简介

1. 概述

  1. Hadoop是由Yahoo!开发的的后来贡献给了Apache的一套开源的、可靠的、可伸缩的分布式机制。

  2. Hadoop是大数据生态系统中的基础框架,在大数据中,有超过70%的技术或者产业是围绕Hadoop产生的。

  3. Hadoop提供了简单的编程模型来对大量数据进行分布式处理。

  4. Hadoop能够从一台服务器扩展到上千台服务器,每一台服务器都能够提供计算和存储的功能。

  5. Hadoop本身提供了探测和处理异常的机制。

  6. Hadoop之父:Doug Cutting(道格.卡丁)。

  7. Hadoop的发行版:

a. Apache Hadoop:最基础、最原始的版本。相对而言,部署和维护比较复杂,但是适合于初学者,因为它没有将细节隐藏,更适合于理解底层机制。

b. CDH:Cloudera公司推出的商用版本的Hadoop。这版Hadoop更易于部署和维护,能够相对轻松的扩展集群规模。Cloudera的标价是每个节点每年4000美元(现在每一个节点的价钱飙升到了10000美元)。

c. HDP:Hortonworks提供的商用版本的Hadoop,更注重分布式存储,增强了分布式存储的功能。Hortonworks在售卖的时候,以打包的方式来售卖,每个包(包含不超过10个节点)每年收费12500美元。最近,Hortonworks已经被Cloudera公司收购。

  1. Apache Hadoop目前的版本比较混乱。目前市面上,Hadoop2.X和Hadoop3.X都在流行使用。

2. 版本

  1. Hadoop1.X:包含了Common、HDFS和MapReduce模块。现在市面上已经停止使用。

  2. Hadoop2.X:包含了Common、HDFS、MapReduce以及YARN模块。从Hadoop2.7版本开始,还包含了Ozone模块。Hadoop2.X和Hadoop1.X全版本不兼容。

  3. Hadoop3.X:包含了Common、HDFS、MapReduce、YARN和Ozone模块。Hadoop3.X和Hadoop2.X部分版本兼容。

3. 模块

  1. Hadoop Common:公共依赖模块。

  2. Hadoop Distributed File System (HDFS™):分布式文件系统,解决存储问题。

  3. Hadoop YARN:负责任务调度和集群的资源管理。

  4. Hadoop MapReduce:基于YARN的分布式计算系统。

  5. Hadoop Ozone:对象存储。

4. 安装模式

  1. 单机模式:在一台服务器上安装Hadoop,只能启动Hadoop的MapReduce模块。

  2. 伪分布式:在一台服务器上安装Hadoop,利用多个进程来模拟Hadoop集群环境,能够启动Hadoop的绝大部分主要服务。

  3. 完全分布式:在集群中安装Hadoop,能够启动Hadoop中的所有的服务。

5. web访问端口

|-------------------|-----------|-----------|
| Process | Hadoop2.X | Hadoop3.X |
| NameNode | 50070 | 9870 |
| SecondaryNameNode | 50090 | 9868 |
| DataNode | 50075 | 9864 |
| ResourceManager | 8088 | 8088 |
| NodeManager | X | X |

三、Hadoop的发展史

1. 创始人

  1. Doug Cutting:创建了Lucene,与Mike Cafarella共同创建了搜索引擎Nutch。
  1. Mike Cafarella:是一位专攻数据库管理系统的科学家。

2. 发展历程

  1. 早在2002年的时候,Doug和Mike设计一个搜索引擎Nutch,爬取了全网10亿个网页的数据,爬取完成之后,在设计搜索引擎的过程中,遇到了存储的问题。

  2. 在2003年的时候,Google发表了一篇论文<The Google File System>(GFS),阐述了分布式存储的思想和原理,但是并没有对外公开这个框架。

  3. 在2004年的时候,Doug和Mike根绝GFS实现了Nutch中的存储系统 - NDFS(Nutch Distributed File System - Nutch分布式文件系统)。

  4. 在2004年的时候,Google发表了一篇论文<The Google MapReduce>,阐述了分布式计算的思想和原理,但是同样没有对外公开使用这个框架。

  5. 在2005年的时候,Doug根据这篇论文实现了Nutch中的MapReduce。

  6. 在Nutch0.8的时候,Doug发现NDFS和MapReduce不只可以用于搜索引擎,也可以用于其他的分布式处理,所以就把NDFS和MapReduce以及其他的一些需要的基本以来分离出来,组成了一个新的框架Hadoop,同时NDFS改名为HDFS(Hadoop Distributed File System),至此,Hadoop正式面世。

  7. 在2007年11月的时候,Doug加入了Yahoo!,在Yahoo!工作期间,深度开发了Hadoop,后来还根据网友的建议,实现了HBase、Pig等框架。

  8. 后来Yaoo!将Hadoop、HBase、Pig等框架贡献给了Apache。

相关推荐
奥顺互联V4 分钟前
一次性部署:使用Docker部署PHP应用
大数据·mysql·开源·php
重生之绝世牛码22 分钟前
Java设计模式 —— 【结构型模式】外观模式详解
java·大数据·开发语言·设计模式·设计原则·外观模式
喝醉酒的小白41 分钟前
Elasticsearch相关知识@1
大数据·elasticsearch·搜索引擎
边缘计算社区42 分钟前
首个!艾灵参编的工业边缘计算国家标准正式发布
大数据·人工智能·边缘计算
MZWeiei42 分钟前
Zookeeper的选举机制
大数据·分布式·zookeeper
MZWeiei43 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
学计算机的睿智大学生44 分钟前
Hadoop集群搭建
大数据·hadoop·分布式
一路狂飙的猪44 分钟前
RabbitMQ的工作模型
分布式·rabbitmq
miss writer1 小时前
Redis分布式锁释放锁是否必须用lua脚本?
redis·分布式·lua