大数据课程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. 来源:日志、爬虫、网页埋点、手动录入、数据库等。
3. Value:数据价值密度低。价值密度指的是想要的数据在总的数据量中的占比。随着网络的发展,价值密度越来越低,但是不意味着获取到的数据越来越少,恰恰相反,获取到的数据是在变多的。只是想要的数据的增长速度比不上样本总量的增长速度。
4. Velocity:数据增长速度快。随着网络的发展,数据的产生速度以及增长速度越来越快。
5. Veracity:数据的质量,即数据的准确性和可信赖度。随着信息的爆炸以及网络的发展,信息的来源良莠不齐,导致数据的可信赖度变得不同。
6. Valence:数据的连通性。随着大数据的发展,衍生出来了很多的技术、模块和产业,这个时候,就不得不考虑这些模块、技术和产业之间的关系。
7. 随着大数据的发展,产生了越来越多的特性: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公司收购。
8. 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。

2. 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。
相关文章:
大数据课程D1——hadoop的初识
文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解大数据的概念; ⚪ 了解大数据的部门结构; ⚪ 了解hadoop的定义; ⚪ 了解hadoop的发展史; 一、大数据简介 1. 概述…...
xml命名空间
xml命名空间 一个xml文档中可以包含多个元素和属性,在文档中使用多个DTD文件时,可能会碰到相同的元素,而这些名称相同的元素可能代表了完全不同的含义,为了防止命名冲突,W3C提供了一个推荐标准-XML命名空间 命名空间有…...
七、Kafka源码分析之网络通信
1、生产者网络设计 架构设计图 2、生产者消息缓存机制 1、RecordAccumulator 将消息缓存到RecordAccumulator收集器中, 最后判断是否要发送。这个加入消息收集器,首先得从 Deque 里找到自己的目标分区,如果没有就新建一个批量消息 Deque 加进入 2、消…...
WEB安全测试通常要考虑的测试点
1、问题:没有被验证的输入 测试方法: 数据类型(字符串,整型,实数,等) 允许的字符集 最小和最大的长度 是否允许空输入 参数是否是必须的 重复是否允许 数值范围 特定的值(枚举型&a…...
关于uni.createInnerAudioContext()的duration音频长度获取不到问题
关于uni.createInnerAudioContext()的duration音频长度获取不到问题 代码如下: onLoad() {let _this this//初始化语音播放对象this.audioObj uni.createInnerAudioContext();this.audioObj.src 音频链接;// 音频进入可以播放状态,但不保证后面可以流…...
使用rknn-toolkit2把YOLOV5部署到OK3588上
使用rknn-toolkit2把YOLOV5部署到OK3588上 虚拟环境搭建软件包安装在PC机上运行yolov5目标检测 虚拟环境搭建 首先在PC的ubuntu系统安装虚拟环境: 我的服务器是ubuntu18.04版本,所以安装python3.6 conda create -n ok3588 python3.6 需要键盘输入y&…...
【雕爷学编程】Arduino动手做(93)--- 0.96寸OLED液晶屏模块14
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…...
ffplay播放器剖析(5)----视频输出剖析
文章目录 1.视频输出模块1.1 视频输出初始化1.1.1 视频输出初始化主要流程1.1.2 calculate_display_rect初始化显示窗口大小 1.2 视频输出逻辑1.2.1 event_loop开始处理SDL事件1.2.2 video_refresh1.2.2.1 计算上一帧显示时长,判断是否还要继续上一帧1.2.2.2 估算当前帧显示时长…...
21.2:象棋走马问题
请同学们自行搜索或者想象一个象棋的棋盘, 然后把整个棋盘放入第一象限,棋盘的最左下角是(0,0)位置 那么整个棋盘就是横坐标上9条线、纵坐标上10条线的区域 给你三个 参数 x,y,k 返回“马”从(0,0)位置出发,必须走k步 …...
【CSS】手写 Tooltip 提示组件
文章目录 效果示例代码实现 效果示例 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>一颗不甘坠落的流星</title><style>body {padding: 120px;}.tooltip {position: relative;display: inline-blo…...
MySQL DDL语法
MySQL DDL语法 DDL简介 MySQL DDL(Data Definition Language)是用于定义和管理数据库结构的语言。它包括创建、修改和删除数据库、表、视图、索引和其他数据库对象的语句。DDL语法的重要性如下: 数据库结构定义:DDL语句用于创建…...
Git 绑定账号 和clone
一:环境: 下载安装完成Git,在桌面或文件夹下(在你将要保存代码的位置)右击可以看到Git Bash Here,点击可以进入黑窗口 二:配置公钥 1.查看当前状态(如果已绑定,且知道密码可以登陆,可以直接获取SSH公钥并配置即可拉取代码) git config --list 2.配置全局git用户名和邮箱 …...
ftp和sftp区别,以及xftp的使用
网上找链接找的很辛苦对吧! 网上下载的破解版还不用。而且用没多久又说要更新了,又得重新找。 这下直接把官方免费获取链接发给你,就不用在被这种事情麻烦了。 家庭/学校免费 - NetSarang Website (xshell.com):家庭/学校免费 - NetSarang W…...
C++ 编程入门(一)—— Hello World
C 是什么环境搭建第一个 C 程序本篇结语 C 是什么 C 是一种面向对象的计算机程序设计语言,由美国 AT&T 贝尔实验室的 Bjarne Stroustrup 在 20 世纪 80 年代初期发明并实现(最初这种语言被称作 “C with Classes” 带类的 C 语言)。它是一…...
openlayers系列:加载arcgis和geoserver在线离线切片
https://www.freesion.com/article/1751396517/ 1.背景 有个项目需要使用openlayer加载各种服务上发布的数据,坐标系也不同,我们都知道openalyer默认可以加载EPAG:3857,要加载4490的坐标系的数据需要重新定义一下,之后再加载。一想起要重新…...
《人工智能安全》课程总体结构
1 课程内容 人工智能安全观:人工智能安全问题、安全属性、技术体系等基本问题进行了归纳整理。人工智能安全的主要数据处理方法,即非平衡数据分类、噪声数据处理和小样本学习。人工智能技术赋能网络空间安全攻击与防御:三个典型实例及攻击图…...
unity关于匀速移动某些值的方法
可能很多人会用到Verctor3.Lerp、Mathf.LerpUnclamped等等 这种其实不是匀速 看一下这个整体差不多的逻辑 public static float Lerp(float a, float b, float t){return a (b - a) * t;};这个逻辑就是,从a值到b值,返回一个a值加(b值-a值&…...
解决VScode下载太慢的问题记录
最近突然想重新下载vscoded便携免安装版,发现下载很慢,于是乎查询一下,以便记录 下载地址 VScode官方网站: https://code.visualstudio.com/ 根据个人的需求选择下载,页面加载下载需要等一会, 然后就会…...
Gitlab服务器备份恢复及系统升级
居安思危,思则有备,有备无患。 基于此,申请了一个测试服务器,准备先安装同版本服务器,按照最新的数据进行恢复,然后再将现在的服务器升级到Gitlab的最新版本,记录一下完整的过程,以…...
docker入门讲解
目录 第 1 章 Docker核心概念与安装 为什么使用容器? Docker是什么 Docker设计目标 Docker基本组成 容器 vs 虚拟机 Docker应用场景 Linux 安装 Docker 第 2 章 Docker镜像管理 镜像是什么 镜像从哪里来? 镜像与容器联系 镜像常用管理命令 镜像存储核心技术:联…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...
深入理解 React 样式方案
React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...
