区块链技术博客
www.b2bchain.cn

大数据概况及hadoop生态系统

这篇文章主要介绍了大数据概况及hadoop生态系统的讲解,通过具体代码实例进行20668 讲解,并且分析了大数据概况及hadoop生态系统的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=20668

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

大数据概况及hadoop生态系统

  • 一.大数据基本概念和特征
    • 1.什么是大数据?
    • 2.大数据特征
    • 3.分布式计算
  • 二.Hadoop
    • 1.概念
    • 2.hadoop优点
    • 3.Hadoop vs. RDBMS
    • 4.Hadoop生态圈
  • 三.Zookeeper
    • 1.概念
    • 2.提供的功能
    • 3.特性
    • 4.zookeeper集群
  • 四.hadoop架构
  • 五.HDFS
    • 1.HDFS优点
    • 2.HDFS缺点
    • 3.HDFS CLI(命令行)
    • 4.使用HDFS shell 处理移动通讯数据
    • 5.HDFS角色
    • 6.HDFS架构
    • 7.HDFS副本机制
    • 8.HDFS高可用(High Availability)
    • 9.HDFS读文件
    • 10.HDFS写文件
    • 11.HDFS文件格式

一.大数据基本概念和特征

1.什么是大数据?

大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。

2.大数据特征

(1)4V特征
Volume(大数据量):90% 的数据是过去两年产生
Velocity(速度快):数据增长速度快,时效性高
Variety(多样化):数据种类和来源多样化
结构化数据、半结构化数据、非结构化数据
Value(价值密度低):需挖掘获取数据价值
(2)固有特征

​ 时效性
​ 不可变性

3.分布式计算

分布式计算将较大的数据分成小的部分进行处理

二.Hadoop

1.概念

Hadoop是一个开源分布式系统架构,包含:分布式文件系统HDFS——解决大数据存储,分布式计算框架MapReduce——解决大数据计算,分布式资源管理系统YARN

2.hadoop优点

(1)高扩展性,可伸缩

(2)高可靠性:多副本机制,容错高

(3)低成本

(4)无共享架构

(5)灵活,可存储任意类型数据

(6)开源,社区活跃

3.Hadoop vs. RDBMS

** ** RDBMS Hadoop
格式 写数据时要求 读数据时要求
速度 读数据速度快 写数据速度快
数据监管 标准结构化 任意结构数据
数据处理 有限的处理能力 强大的处理能力
数据类型 结构化数据 结构化、半结构化、非结构化
应用场景 交互式OLAP分析ACID事务处理****企业业务系统 处理非结构化数据****海量数据存储计算

4.Hadoop生态圈

(1)hadoop核心

​ HDFS, MapReduce, YARN

(2)数据查询分析

​ Hive,Pig,Impala,Presto

(3)协调管理

​ HCatalog,Zookeeper,Ambari

(4)数据迁移

​ Sqoop,Flume

(5)Spark,NoSQL,机器学习,任务调度等
大数据概况及hadoop生态系统

三.Zookeeper

1.概念

是一个分布式应用程序协调服务,解决分布式集群中应用系统的一致性问题

2.提供的功能

配置管理,命名服务、分布式同步、队列管理、集群管理等

3.特性

全局数据一致
可靠性、顺序性、实时性
数据更新原子性

4.zookeeper集群

角色:Leader、Follower、Observer

四.hadoop架构

1.HDFS(Hadoop Distributed File System):分布式文件系统,解决分布式存储

2.Mapreduce:分布式计算框架

3.YARN:分布式资源管理系统

4.Common:支持所有其他模块的公共工具程序

五.HDFS

1.HDFS优点

(1)支持处理超大文件

(2)可运行在廉价机器上

(3)高容错性

(4)流式文件写入

2.HDFS缺点

(1)不适合低延时数据访问场景

(2)不适合小文件存取场景

(3)不适合并发写入,文件随机修改场景

3.HDFS CLI(命令行)

(1)基本格式:

      hdfs dfs -cmd<args>       hadoop fs -cmd<args>(已过时) 

(2)命令

-ls -mkdir -put -rm -help 

(3)hdfs admin命令:dfsadmin命令用于管理HDFS集群

hdfs dfsadmin -report                   #返回集群的状态信息 hdfs dfsadmin -safemode enter/leave     #进入和离开安全模式 hdfs dfsadmin -saveNamespace            #保存集群的名字空间 hdfs dfsadmin -rollEdits                #回滚编辑日志 hdfs dfsadmin -refreshNodes             #刷新节点 hdfs dfsadmin -getDatanodeInfo node1:8010 #获取数据节点信息 hdfs dfsadmin -setQuota 10 /hdfs        #设置文件目录配额 

4.使用HDFS shell 处理移动通讯数据

(1)创建存放数据文件的目录

hdfs dfs -mkdir -p /hdfs/shell hdfs dfs -ls /hdfs/shell 

(2)将通讯数据上传到HDFS并查看

hdfs dfs -put /home/hadoop/data/mobile.txt /hdfs/shell hdfs dfs -text /hdfs/shell/mobile.txt 

(3)下载文件到本地

hdfs dfs -get /hdfs/shell/mobile.txt /home/hadoop 

(4)统计目录下文件大小

hdfs dfs -du /hdfs/shell 

(5)删除移动数据文件和目录

hdfs dfs -rm /hdfs/shell/mobile.txt hdfs dfs -rmr /hdfs 

5.HDFS角色

(1)Client:客户端

(2)NameNode(NN):元数据节点

  • 管理文件系统的namespace/元数据
  • 一个HDFS集群只有一个active的NN

(3)DataNode(DN):数据节点

  • 数据存储节点,保存和检索block
  • 一个集群可以有多个数据节点

(4)Secondary NameNode(SNN):从元数据节点

  • 合并NameNode的edit logs到fsimage文件中
  • 辅助NN将内存中的元数据信息持久化
    大数据概况及hadoop生态系统

6.HDFS架构

大数据概况及hadoop生态系统

7.HDFS副本机制

(1)Block:数据块,HDFS最基本的存储单元,默认块大小:128M

(2)副本机制:

​ 作用:避免数据丢失

​ 副本数默认为3

​ 存放机制:

​ 一个在本地机架节点

​ 一个在同一个机架不同节点

​ 一个在不同机架的节点

8.HDFS高可用(High Availability)

解决:HDFS Federation,共享DN资源

Active Namenode:对外提供服务

Standby Namenode:Active 故障可切换为Active

9.HDFS读文件

(1)使用HDFS提供的客户端向远程的NameNode发起RPC请求

(2)NameNode会视情况返回文件的部分或者全部块列表,对于每个块,NameNode都会返回给块副本的DataNode地址。

(3)客户端会选择其最近的DataNode来读取块,如果客户端本身就是DataNode,那就从本地直接获取数据

(4)读取完当前块数据后,关闭当前的DataNode连接,并为读取下一个块寻找最佳的DataNode。每读取完一个块都会进行checksum验证,如果读取DataNode时出现错误,客户端会通知NameNode,再从下一个拥有该块副本的DataNode继续读取

(5)当读取完块列表后,并且文件读取还没有结束,客户端会继续向NameNode获取下一批列表

(6)一旦客户端完成读取操作后,就会调用close方法来完成资源的关闭操作。
大数据概况及hadoop生态系统

10.HDFS写文件

(1)使用HDFS提供的客户端向远程的NameNode发起RPC请求。NameNode会检查要创建的文件是否已经存在,创建者是否有权限进行操作,成功则为文件创建一个记录,否则会让客户端抛出异常

(2)开始写文件时,客户端会将文件切分为多个packets(数据包),并向NameNode申请块,获取用来存储副本的合适的DataNode列表

(3)客户端调用FSDataOutputStream API的write方法,首先将其中一个块写到DataNode上,每一个块默认都有3个副本,并不是有客户端分别往3个DataNode上写3份数据,而是由已经上传了块的DataNode产生新的线程,由这个DataNode按照副本规则往其他DataNode写副本

(4)FSDataOutPutStream内部维护着一个确认队列,当接收到所有DataNode确认写完的消息后,数据才会从确认队列中删除

(5)客户端完成数据的写入后,会对数据流调用close方法来关闭资源。
大数据概况及hadoop生态系统

11.HDFS文件格式

(1)HDFS支持以不同格式存储所有类型的文件

  • 文本,二进制
  • 未压缩,压缩

(2)为了最佳的Map-Reduce处理,文件需可分割

  • SequenceFile
  • Avro File
  • RCFile&ORCFile
  • Parquet File

本文转自互联网,侵权联系删除大数据概况及hadoop生态系统

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 大数据概况及hadoop生态系统
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们