hadoop入门

1.1 hadoop是什么

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要是解决海量数据的存储和海量数据的分析计算的问题。通常Hadoop指的是一个更为广泛的概念Hadoop生态圈

1.2 hadoop发展历程

Hadoop创始人Doug Cutting,为了实现与Google类似的全文搜索功能,化升级,查询引擎和索引引擎,他在Lucene框架基础上进行优。

2001年年底Lucene成为Apache基金会的一个子项目。对于海量数据的场景,Lucene框架面对与Google同样的困难,存储海量数据困难,检索海量速度慢

学习和模仿Google解决这些问题的办法:微型版Nutch。可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)

GFS—>HDFS

Map-Reduce—>MR

BigTable—>HBase

2003-2004,Google公开了部分GFS和MapReduce思想的细节,以此为基础

oug Cutting等人用2003-2004年,Google公开了部分了2年业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。

2005 年Hadoop 作为 Lucene的子项目 Nutch的一部分正式引入Apache基金会。

2006年3月份Map-Reduce和Nutch DistributeFile System(NDFS)分别被纳入到 Hadoop 项目,Hadoop就此正式诞生,标志着大数据时代的来临

名字来源于Doug Cutting儿子的玩具

1.3 hadoop的三大版本

Apache版本最原始(最基础)的版本,对于入门学习最好。2006

Cloudera内部集成了很多大数据框架,对应产品CDH。2008

Hortonworks文档较好,对应产品HDP。2011

Hortonworks现在已经被Cloudera公司收购,推出新的品牌CDP。

1)Apache Hadoop

官网地址:Apache Hadoop

下载地址:Apache Hadoop

2)Cloudera Hadoop

官网地址:https://www.cloudera.com/downloads/cdh

下载地址:CDH 6 Download Information | 6.x | Cloudera Documentation

(1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。

(2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support

(3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。Cloudera的标价为每年每个节点10000美元。

(4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。

3)Hortonworks Hadoop

官网地址:Hybrid Cloud Computing Platform and Products | Cloudera

下载地址:https://hortonworks.com/downloads/#data-platform

(1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建。

(2)公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop80%的代码。

(3)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。

(4)2018年Hortonworks目前已经被Cloudera公司收购。

1.4 hadoop1.x、2.x、3.x的区别

Hadoop1.x中的MapReduce:

计算:指的数据的运算

资源的调度:指的是在哪台服务器上进行运算,运算这个任务给多少内存

Hadoop2.x中的MapReduce:只负责计算,Yarn负责资源调度

1.5 HDFS架构

Hadoop Distributed File System,是一个分布式文件系统

NameNode记录每一个文件块存储的位置

DataNode具体存储数据

2NN是辅助NameNode工作的

(1)NameNode:储存文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和所在的DataNode等。

(2)DataNode:在本地文件系统存储文件块数据,以及块数据的校验和。

(3)Secondary NameNode:每隔一段时间对NameNode元数据备份

1.6 YARN架构概述

Yet Another Resource Negotiator简称YARN ,另一种资源协调者,是Hadoop的资源管理器。

1)ResourceManager(RM):整个集群资源(内存,cpu等)的老大

2)NodeManager(NM):单个结点服务器资源的老大

3)ApplicationMaster(AM):单个任务云心运行的老大

4)Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。

说明1:客户端可以有多个

说明2:集群上可以运行多个Application

说明3:每个NodeManager上可以有多个Container

虚拟化、跨节点、分布式

1.7 MapReduce

MapReduce将计算分为两个阶段:Map和Reduce

1)Map阶段并行处理输入数据

2)Reduce阶段对Map结果进行汇总

1.8 大数据技术生态体系

文件日志(半结构化数据)—>结构化数据

数据

大数据推荐系统架构推荐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1560484.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

小猿口算APP脚本(协议版)

小猿口算是一款专注于数学学习的教育应用,主要面向小学阶段的学生。它提供多种数学练习和测试,包括口算、速算、应用题等。通过智能化的题目生成和实时批改功能,帮助学生提高数学计算能力。此外,它还提供详细的学习报告和分析,帮助家长和教师了解学生的学习进度和薄弱环节…

数据结构前置知识(下)

1. 包装类 Java为了让基本数据类型也能够继承Object,因此给每个基本数据类型提供了包装类, 这样就可以和平常的引用数据类型一样使用了,并且也可以应用在泛型上(后续讲) 基本数据类型包装类byteByteshortShortintIntergerlongLongfloatFloatdoubleDoublecharCharacterboolean…

在IDEA里用XDebug调试PHP,断点....

做程序开发,调试必不可少,这里最近用到了PHP,顺便写个关于PHP的调试安装使用: 1、首先是PHP先安装xdebug扩展(还有zend的),这个我的工具是IDEA,所以安装方法也相对简单,如果你是用VSCode等应该也是一样,如下图,找到这个PHP->DEBUG 2、直接点上面的Install XDebug 就可以帮你…

潜水打捞系统助力,破解汽车打捞难题

随着人类活动的不断扩展,汽车落水事故频发,成为救援工作中的一大难题。汽车因其重量和结构特性,一旦沉入水体,打捞工作将面临巨大挑战。传统的打捞方法往往效率低下,且在操作过程中可能会对汽车造成进一步的损害&#…

JMeter性能测试时,如何做CSV参数化

在现代软件开发中,性能测试是保证应用程序在高负载条件下稳定运行的重要环节。为了实现真实场景的测试,参数化技术应运而生。其中,CSV参数化是一种高效且灵活的方法,可以让测试人员通过外部数据文件驱动测试脚本,从而模…

九寨沟,智慧旅游新名片

九寨沟属于自然类景区,以优美的自然风光取胜,景区文化内涵相对缺失。智慧化和文旅融合是智慧文旅景区的两个必备条件,九寨沟在智慧文旅景区建设过程中,经历了两个阶段,先是从传统景区迈向智慧景区,然后是充…

Arduino UNO R3自学笔记24 之 Arduino如何使用MAX7219控制多个数码管?

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。 前言:前面学习了单个数码管的控制,但是在大多场合一个数码管是满足不了使用场景的,因此对于数码管的学习,应该学会用尽可能少的端口去驱动更多的数码管,在此情况下,MAX7219比较适合我们使用。 1.M…

Qt_软件添加版本信息

文章内容: 给生成的软件添加软件的版权等信息 #include <windows.h> //中文的话增加下面这一行 #pragma code_page(65001)VS_VERSION_INFO VERSIONINFO

springmvc直接访问 上下文路径 302 后路径更改并跳转源码解析

【问题现状】 application.yml 配置如下属性&#xff1a; server:servlet:context-path: /learning直接访问&#xff1a;http://localhost:8888/learning 路径时&#xff0c;会返回302的响应状态&#xff1b;并跳转路径&#xff1a;http://localhost:8888/learning/ (原路径后…

【北京迅为】《STM32MP157开发板嵌入式开发指南》-第二十七章 交叉编译器的安装和使用

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

STM32 实现 TCP 服务器与多个设备通信

目录 一、引言 二、硬件准备 三、软件准备 四、LWIP 协议栈的配置与初始化 五、创建 TCP 服务器 1.创建 TCP 控制块 2.绑定端口 3. 进入监听状态 4.设置接收回调函数 六、处理多个客户端连接 七、数据处理与通信管理 八、错误处理与资源管理 九、总结 一、引…

【STM32单片机_(HAL库)】4-5-2【定时器TIM】【感应开关盖垃圾桶项目】HC-SR04超声波模块实验

1.硬件 STM32单片机最小系统HC-SR04超声波模块 2.软件 hcsr04驱动文件添加main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "uart1.h" #include "hcsr04.h"int main(void) {HAL_Init(); …

华为云应用侧Android Studio开发

本文将介绍如何使用AndroidStudio开发APP完成与接入华为云IoTDA设备的对接&#xff0c;包括属性参数获以及取命令下发。 一、鉴权认证 应用侧需要通过IAM服务鉴权&#xff0c;获取token&#xff0c;华为账号创建 IAM 用户&#xff0c; 可以为创建的用户分配权限 认证鉴权_设…

CSS @规则(At-rules)系列详解___@charset规则使用方法

CSS 规则(At-rules)系列详解 ___charset规则使用方法 本篇目录&#xff1a; 零、时光宝盒 一、charset规则定义和用法 二、CSS charset语法 三、charset 使用方法例子 1、正确使用方法 2、无效的&#xff0c;错误的使用方法 零、时光宝盒 &#xff08;https://blog.csd…

C++ | Leetcode C++题解之第472题连接词

题目&#xff1a; 题解&#xff1a; struct Trie {bool isEnd;vector<Trie *> children;Trie() {this->children vector<Trie *>(26, nullptr);this->isEnd false;} };class Solution { public:Trie * trie new Trie();vector<string> findAllConc…

C语言 | Leetcode C语言题解之第472题连接词

题目&#xff1a; 题解&#xff1a; typedef struct Trie {struct Trie * children[26];bool isEnd; }Trie;#define TRIE_INITIAL(node) do { \for (int i 0; i < 26; i) { \(node)->children[i] NULL; \} \(node)->isEnd false; \ }while(0);static void freeTri…

第二阶段:mysql(学完就隐藏版)

第一章&#xff1a;部署数据库系统&#xff08;注意关闭防火墙&#xff0c;selinux安装&#xff09; 安装mysql配置的相关文件&#xff1a;yum install https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm&#xff08;centos9&#xff1a;yum install http…

iOS--理解MVC与MVVM

MVC MVC 是一种将应用程序分为三部分的架构模式&#xff1a;Model&#xff08;模型&#xff09;、View&#xff08;视图&#xff09;、Controller&#xff08;控制器&#xff09;。每部分负责不同的职责&#xff0c;使代码更加模块化、易于维护。 • Model&#xff1a;负责业…

jmeter入门:脚本录制

1.设置代理。 网络连接-》代理-》手动设置代理. ip&#xff1a; 127.0.0.1&#xff0c; port&#xff1a;8888 2. add thread group 3. add HTTP(s) test script recorder, target controller chooses Test plan-> thread Group 4. click start. then open the browser …

Java | Leetcode Java题解之第472题连接词

题目&#xff1a; 题解&#xff1a; class Solution {Trie trie new Trie();public List<String> findAllConcatenatedWordsInADict(String[] words) {List<String> ans new ArrayList<String>();Arrays.sort(words, (a, b) -> a.length() - b.length(…