hadoop介绍

简介: 以下内容是我的学习笔记,网络课程的笔记。出处Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。

以下内容是我的学习笔记,网络课程的笔记。出处

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。

HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

介绍hadoop就是需要先了解hadoop的使用场景,先熟悉一下下面的概念:

什么是大数据

基本概念

简单说就是 数据处理
在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,
人类产生的数据量相比以前有了爆炸式的增长,
以前的传统的数据处理技术已经无法胜任,需求催生技术,一套用来处理海量数据的软件工具应运而生,这就是大数据!
  • 处理海量数据的核心技术 *

海量数据存储:分布式
海量数据运算:分布式

这些核心技术的实现是不需要用户从零开始造轮子的
存储和运算,都已经有大量的成熟的框架来用

存储框架:

  1. HDFS——分布式文件存储系统(HADOOP中的存储框架)
  2. HBASE——分布式数据库系统
  3. KAFKA——分布式消息缓存系统(实时流式数据处理场景中应用广泛)

运算框架:

(要解决的核心问题就是帮用户将处理逻辑在很多机器上并行)

  1. MAPREDUCE—— 离线批处理/HADOOP中的运算框架
  2. SPARK —— 离线批处理/实时流式计算
  3. STORM —— 实时流式计算

辅助类的工具

(解放大数据工程师的一些繁琐工作):

  1. HIVE —— 数据仓库工具:可以接收sql,翻译成mapreduce或者spark程序运行
  2. FLUME——数据采集
  3. SQOOP——数据迁移
  4. ELASTIC SEARCH —— 分布式的搜索引擎

换个角度说,
大数据是:

  1. 有海量的数据
  2. 有对海量数据进行挖掘的需求
  3. 有对海量数据进行挖掘的软件工具(hadoop、spark、storm、flink、tez、impala......)

大数据在现实生活中的具体应用

  1. 数据处理的最典型应用:公司的产品运营情况分析
  2. 电商推荐系统:基于海量的浏览行为、购物行为数据,进行大量的算法模型的运算,得出各类推荐结论,以供电商网站页面来为用户进行商品推荐
  3. 精准广告推送系统:基于海量的互联网用户的各类数据,统计分析,进行用户画像(得到用户的各种属性标签),然后可以为广告主进行有针对性的精准的广告投放

什么是hadoop

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

Hadoop解决哪些问题?

* 海量数据需要及时分析和处理
* 海量数据需要深入分析和挖掘
* 数据需要长期保存
* 海量数据存储的问题:
* 磁盘IO称为一种瓶颈,而非CPU资源
* 网络带宽是一种稀缺资源
* 硬件故障成为影响稳定的一大因素

hadoop中有3个核心组件:

  1. 分布式文件系统:HDFS —— 实现将文件分布式存储在很多的服务器上
  2. 分布式运算编程框架:MAPREDUCE —— 实现在很多机器上分布式并行运算
  3. 分布式资源调度平台:YARN —— 帮用户调度大量的mapreduce程序,并合理分配运算资源

hdfs整体运行机制

hdfs:分布式文件系统
hdfs有着文件系统共同的特征:
有目录结构,顶层目录是: /
系统中存放的就是文件
系统可以提供对文件的:创建、删除、修改、查看、移动等功能

hdfs跟普通的单机文件系统有区别:

  1. 单机文件系统中存放的文件,是在一台机器的操作系统中, hdfs的文件系统会横跨N多的机器
    单机文件系统中存放的文件,是在一台机器的磁盘上
    hdfs文件系统中存放的文件,是落在n多机器的本地单机文件系统中(hdfs是一个基于linux本地文件系统之上的文件系统)

hdfs的工作机制:

客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<准确来说:切块的行为是由客户端决定的>
一旦文件被切块存储,那么,hdfs中就必须有一个机制,来记录用户的每一个文件的切块信息,及每一块的具体存储机器(负责记录块信息的角色是:name node)
为了保证数据的安全性,hdfs可以将每一个文件块在集群中存放多个副本(到底存几个副本,是由当时存入该文件的客户端指定的)
综述:一个hdfs系统,由一台运行了namenode的服务器,和N台运行了datanode的服务器组成!

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
8月前
|
分布式计算 Hadoop Java
|
7月前
|
存储 分布式计算 资源调度
Hadoop构成
Hadoop构成
25 0
|
机器学习/深度学习 存储 SQL
Hadoop
Hadoop组成
177 0
|
SQL 数据采集 分布式计算
Hadoop01【介绍】
HADOOP是apache旗下的一套开源软件平台,HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
Hadoop01【介绍】
|
分布式计算 资源调度 Java
Hadoop3.2.0使用详解
Hadoop3.2.0使用详解1.概述Hadoop3已经发布很久了,迭代集成的一些新特性也是很有用的。截止本篇博客书写为止,Hadoop发布了3.2.0。接下来,笔者就为大家分享一下在使用Hadoop3中遇到到一些问题,以及解决方法。
3516 0
|
分布式计算 资源调度 Hadoop
|
分布式计算 监控 Hadoop
|
存储 分布式计算 大数据
|
存储 分布式计算 Java

相关实验场景

更多