从零开始大数据--Hadoop、HDFS、MapReduce、HBase、Hive


概述

IT领域每隔十五年就会迎来一次重大变革:

  • 1980:个人计算机
  • 1995:互联网
  • 2010:物联网、云计算和大数据

信息科技为大数据时代提供技术支撑:

  • 存储设备容量不断增加
  • CPU处理能力大幅提升
  • 网络带宽不断增加

image-20191224153853092

大数据是由结构化和非结构化数据组成的

  • 10%的结构化数据,存储在数据库中
  • 90%的非结构化数据,它们与人类信息密切相关

大数据技术的不同层面及其功能:
在这里插入图片描述

大数据计算模式及其代表产品:
在这里插入图片描述

云计算与物联网:

  • 云计算:虚拟化、分布式存储、分布式计算、多租户

image-20191224155023923

  • 物联网:利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化和远程管理控制。【识别和感知技术(二维码、RFID、传感器等)、网络与通信技术、数据挖掘与融合技术】

大数据与云计算、物联网的关系:
在这里插入图片描述


Hadoop

Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。

它的核心是为海量数据提供存储的分布式文件系统HDFS(Hadoop Distributed File System)和对数据进行计算的MapReduce

MapReduce模型包括两个函数Map和Reduce,Map负责把任务分解为多个任务,Reduce负责把分解后的多个任务处理结果汇总起来。把对大数据集的操作分发给主节点管理下的从节点共同完成,然后通过整合各从节点的中间结果,从而得到最终结果。

BigTable

为处理 PB 级别数据的非关系数据库,是一个稀疏的、分布式的、持久化存储的多维度排序 Map。

采用键值对(key-value)方式存储,键(key)有三维:行键、列键、时间戳。

(row:string, column:string, time:int64)→string

Hadoop

而Hadoop是一个能够对大量数据进行分布式处理的软件框架,具有高可靠性、高效性、高可扩展性、高容错性、低成本、支持多种编程语言的特性。

Hadoop版本分为两代:Hadoop1.0 (MapReduce、HDFS)、Hadoop2.0(MapReduce、HDFS、YARN)。

项目结构:

Hadoop安装配置

  • 创建Hadoop用户

sudo useradd -m hadoop -s /bin/bash //创建 hadoop 用户,并以 /bin/bash 为shell

sudo passwd hadoop //设置 hadoop 用户的密码

sudo useradd hadoop sudo //给 hadopp 用户添加管理员权限

  • SSH登录权限设置

Secure Shell 是建立在应用层和传输层基础上的安全协议。

Hadoop 名称节点需要通过 SSH 启动集群中所有 Hadoop 的守护线程,而它没有提供SSH输入密码登录的形式,所以每台机器的 Hadoop 用户需要配置免密登录。

  • 安装Java环境 JDK
  • 三种运行模式:单机模式、伪分布式模式、分布式模式

解压 hadoop-2.x.y.tar.gz,在 sbin 下执行 start-all.sh 可启动(启动之前需要初始化文件系统hadoop namenode -format)。

默认为单机模式,可以修改 /usr/local/hadoop/etc/hadoop/ 下的 core-site.xml、hdfs-site.xml、mapred-site.xml 等配置文件,使用其他模式。

  • 访问web界面,http://ip:50070

hadoop fs、hadoop dfs、hdfs dfs 的区别:

hadoop fs 适用于任何不同的文件系统,比如本地文件系统和 HDFS 文件系统,hadoop dfs 只能适用于 HDFS 文件系统,而 hdfs dfs 与 hadoop dfs 相同。

一个基本的Hadoop集群中的节点主要有:

  • NameNode:负责协调集群中的数据存储
  • DataNode:存储被拆分的数据块
  • JobTracker:协调数据计算任务
  • TaskTracker:负责执行由JobTracker指派的任务
  • SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息

HDFS

分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。

分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫“主节点”(Master Node)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode)。

优点:

  • 兼容廉价的硬件设备
  • 流数据读写
  • 大数据集
  • 简单的文件模型
  • 强大的跨平台兼容性

局限性:

  • 不适合低延迟数据访问
  • 无法高效存储大量小文件
  • 不支持多用户写入及任意修改文件

HDFS采用抽象的块概念,默认一个块64MB,一个文件被分成多个块,以块作为存储单位。块的大小远远大于普通文件系统,可以最小化寻址开销。

HDFS 主要组件及其功能:

image-20191224165519470

  • NameNode:

image-20191224165851900

对应 HDFS 的命名空间,即目录、文件和块。

在 NameNode 启动的时候,它会将 FsImage 文件中的内容加载到内存中,之后再执行 EditLog 文件中的各项操作,使得内存中的元数据和实际的同步。

  • **SecondaryName

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值