Hadoop课程--第一篇

Mac系统安装Hadoop:

Mac系统安装Hadoop:单机模式和伪分布式模式

HDFS

分布式存储框架

YARN:

分布式计算框架:资源调度

MapReduce:

离线计算,批处理

Tez:

获得最好的处理效率,DAG计算,哪个先做,哪个后做,不重复做,

Spark:

内存计算

Hive:

数据仓库,用于企业决策分析

Pig:

轻量级脚本语言

Oozie:

作业流调度系统

Zookeper:

分布式协调服务

Hbase:

分布式数据库

Flume:

日志收集(美团在用)

Sqoop:

关系型数据库 导入导出工具

Ambari:

安装部署工具

Hadoop安装配置主要步骤:

一个基本的Hadoop集群中的节点主要有:
NameNode:负责协调接群众的数据存储
DataNode:存储被拆分的数据块
JobTracker:协调数据计算任务
TaskTracker:负责执行由JobTracker指派的任务
SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息
自动化部署工具:
Kickstart、debian、Docker
HDFS主要概念:
块
NameNode:
    存储元数据:名字是什么,存了多少块,存储到了哪里
    元数据存储在内存中
    数据结构:
        FsImage:
            用于维护文件系统树及文件树中所有的文件和文件夹的元数据
            访问权限,块大小及组成文件的块
        EditLog:
            记录了所有针对文件的创建、删除、重命名等操作
    名称节点的启动:
        1 启动时,将FsImage文件内容加载到内存中,之后执行Editlog中的文件操作,是的内存中的元数据和实际的同步
        2 一旦在内存中成功建立文件系统元数据的映射,则创建一个新的FsImage和EditLog
        3 启动起来之后,HDFS中的更新操作会写入到EditLog文件中。
    EditLog不断变大的解决方法:
        1 SecondaryNameNode定期和NameNode通信,请求停止使用Editlog,暂时将新的写操作写到新的Edit.new上来,而且是瞬间完成
        2 SecondaryNameNode将从NameNode获取到的FsImage和我EditLog文件,下载到本地相应目录下
        3 合并FsImage和EditLog。SecondaryNameNode将下载的FsImage载入内存,然后一条条执行EditLog的各项更新操作,是的内存中的FsImage保持最新。
        4 SecondaryNameNode执行完(3)操作,通过post将新的FsImage发送到NameNode节点上
        5 NameNode接收到的新FsImage替换旧的FsImage,同时将edit.new替换成EditLog。
        6 到此结束,EditLog就变小了

DataNode
    存储文件内容
    文件内容存储在磁盘中

HDFS
1 数据冗余保存:
好处:
    加快数据传输速度
    容易检查数据错误
    保证数据可靠性
2 数据存取策略
2.1数据存放:
        第一副本:放置在上传文件的DataNode上
        第二副本:放置在与第一个副本不同的机架的节点上
        第三副本:与第一个副本相同机架的其他节点上
        更多副本:随机节点
2.2 数据读取:
        HDFS提供API确定一个数据节点机架ID,客户端获取自己所属的机架ID,如果属于同一个机架,则在此机架读取,否则随机读取
3 数据错误和恢复:
1 名称节点出错:
    根据备份服务器SecondaryNameNode中的FsImage和EditLog数据进行恢复
2 数据节点出错:
    2.1 数据节点定期想NameNode发送心跳信息,报告自己的状态
    2.2 长期未收到心跳,即故障,NameNode把此节点标志为"宕机",NameNode不会再给他们发送任何IO请求
    2.3 启动数据冗余复制,为它生成新的副本
3 数据出错:
    客户端在读到数据后,会采用md5和sha1对数据进行校验,以确定读取到正确的数据。
    如果发现错误,则向NameNode报告这个文件块有错误,NameNode会定期检查并重新复制这个块
数据的读取过程

HBase

定义:
是一个高可靠,高性能,面向列,可伸缩的分布式数据库,是BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据。
BigTableHBase
文件存储系统GFSHDFS
海量数据处理MapReduceHadoop MapReduce
协同服务管理ChubbyZookeeper
HBase与关系型数据库区别:
1 数据类型:
    HBase采用了简单的数据类型,存储为未经解释的字符串
2 数据操作:
    不错在复杂的表与表之间的关系,只有插入,查询,删除,清空等,避免了多表操作
3 存储模式:
    HBase基于列存储
    关系基于行存储
4 数据索引:
    HBase只有一个索引--行键
5 数据维护:
    HBase执行更新操作时,,不会删除旧的版本,而是生成一个新的版本
6 可伸缩性:
    HBase轻松实现扩展,在集群中添加或者减少硬件数量来实现性能的伸缩

数据定位:四维坐标定位(行键、列族、列限定符,时间戳)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值