大数据闯关之Hadoop篇(一):大数据概述

写在前面

大家好,这里是立志于在有生之年看到并参与通用人工智能开发工作的Nobody,由于最近在公司要经常性地接触大数据工具,所以打算开一个大专栏对大数据工具进行学习总结整理。之前我们过完了MySQL的基础部分和进阶部分,我们现在来到了大数据工具的Hadoop。

一、大数据概述

大数据:

  • 狭义上:使用分布式技术完成海量数据的处理,得到数据背后蕴含的价值
  • 广义上:数字化时代、信息化时代的基础支撑,以数据为生活赋能
    • 海量的数据
    • 基础设施
    • 生活
  • 五个主要特征:从海量的高增长、多类别、低信息密度的数据中挖掘出高质量的结果
    • 数据体量大:采集、存储和计算数据量大
    • 种类、来源多样化
    • 低价值密度:信息海量但是价值密度低
    • 速度快:数据增长、获取数据和数据处理速度快
    • 数据质量高

二、大数据软件生态

大数据核心工作主要分为以下三个部分,每个部分又拥有自己的大数据软件

  • 数据存储
    • Apache Hadoop - HDFS:Apache Hadoop框架内的组件HDFS是大数据体系中使用最为广泛的分布式存储技术
    • Apache HBase:Apache HBase是大数据体系内使用非常广泛的NoSQL KV型数据库技术,HBase是基于HDFS之上构建的
  • 数据计算
    • Apache Hadoop - MapReduce:Apache Hadoop - MapReduce组件是最早一代的大数据分布式计算引擎
    • Apache Hive:Apache Hive是一款以SQL为开发语言的分布式计算框架,其底层使用了Hadoop的MapReduce技术
    • Apache Spark
    • Apache Flink
  • 数据传输
    • Apache Kafka:一款分布式的消息系统,可以完成海量规模的数据传输工作

大数据每个部分都有自己对应的软件,以上列到的都是主流使用的软件,其中还有不少其他的大数据软件,但是本专栏将只对以上提到的软件进行学习总结整理

三、Hadoop概述

Hadoop是Apache软件基金会下的顶级开源项目,用以提供:

  • 分布式数据存储
  • 分布式数据计算
  • 分布式资源调度

为一体的整体解决方案

Apache Hadoop是典型的分布式软件框架,可以部署在1台甚至上千台服务器节点上协同工作,个人或企业可以借助Hadoop构建大规模服务器集群,完成海量数据的存储和计算

通常意义上,Hadoop是一个整体,其内部还会细分为三个功能组件,分别是:

  • HDFS组件:HDFS是Hadoop内的分布式存储组件,可以构建分布式文件系统用于数据存储
  • MapReduce组件:MapReduce是Hadoop内分布式计算组件,提供编程接口供用户开发分布式计算程序
  • YARN组件:YARN是Hadoop内分布式资源调度组件,可供用户整体调度大规模集群的资源使用

四、分布式存储

  • 为什么需要分布式存储

    假设我们有一台服务器和一个100TB的文件,服务器无法存储下那么大的文件,那么就需要用多个服务器,将文件分为多个部分,将每个部分文件存储到对应的服务器。分布式不仅仅是解决了能存的问题,多台服务器协同工作带来的也是性能的横向扩展。

  • 分布式的基础架构分析

    • 去中心化模式:没有明确的中心,众多服务器之间基于特定规则进行同步协调
    • 中心化模式:以其中一台服务器为中心,该服务器可以调度其他服务器,进行统一只会,统一调度,避免混乱,这种模式也被称为一主多从模式,简称主从模式。大数据框架大多数的基础架构上,都是符合中心化模式的
  • HDFS的基础架构

    • HDFS是Hadoop三大组件之一,全称为Hadoop Distributed File System(Hadoop分布式文件系统),是Hadoop技术栈内提供的分布式数据存储解决方案,可以在多台服务器上构建存储集群,存储海量的数据。

    • HDFS集群有主角色NameNode、从角色DataNode和主角色辅助角色SecondaryNameNode,其关系如下图

markdown 复制代码
    *   NameNode:HDFS系统的主角色,是一个独立的进程,负责管理HDFS整个文件系统,负责管理DataNode
    *   DataNode:HDFS系统的从角色,是一个独立进程,主要负责数据的存储,即存入数据和取出数据
    *   SecondaryNameNode:NameNode的辅助,是一个独立进程,主要帮助NameNode完成元数据整理工作

五、大数据环境

这里我为了方便,就在网上找了一套搭建好所需大数据环境的三套虚拟机,分别为Node1、Node2和Node3,其中安装好了hadoop、spark、hive等大数据环境,大家有需要的可以评论一下,我私发给大家。

相关推荐
Lorin 洛林11 分钟前
Hadoop 系列 MapReduce:Map、Shuffle、Reduce
大数据·hadoop·mapreduce
DolphinScheduler社区26 分钟前
大数据调度组件之Apache DolphinScheduler
大数据
SelectDB技术团队27 分钟前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
panpantt3211 小时前
【参会邀请】第二届大数据与数据挖掘国际会议(BDDM 2024)邀您相聚江城!
大数据·人工智能·数据挖掘
青云交2 小时前
大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)
大数据·性能优化·impala·案例分析·代码示例·跨数据中心·挑战对策
soso19682 小时前
DataWorks快速入门
大数据·数据仓库·信息可视化
The_Ticker2 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
java1234_小锋2 小时前
Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客2 小时前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
我的运维人生2 小时前
Elasticsearch实战应用:构建高效搜索与分析平台
大数据·elasticsearch·jenkins·运维开发·技术共享