Hadoop复习

  1. Hadoop基本组成及其作用(Doug cutting)
    common:支持其他Hadoop模块的公共实用程序。
    hdfs:提供对应用程序数据高吞吐量访问的分布式文件系统。
    yarn:作业调度和集群资源管理框架。
    mapreduce:一种基于yarn的大型数据集并行处理系统。
  2. Hadoop进程:(启动加载时处于安全模式,不允许操作Hadoop集群)
    NameNode:文件系统的管理节点,用于存储HDFS的元数据。
    元数据包括:(1)文件信息(2)文件块的信息和位置
    (3)文件的访问权限(4)集群中文件的数量(5)集群中DataNode的数量
    NameNode的功能:
    (1)存储HDFS的元数据
    (2)管理文件系统的命名空间
    (3)执行文件系统的命名空间操作
    (4)把HFDS的状态存储到镜像文件中
    (5)把文件系统的变化追加存储到日志文件中
    (6)将数据块副本保存在不同的机架上以提高容错性
    DataNode:文件系统的工作节点,根据需要存储并检索数据块,并定期向NameNode发送它们所存储块的列表。
    DataNode的功能:
    (1)根据客户端或者是NameNode的调度存储和检索数据
    (2)通过NameNode的指令对块进行创建、复制和删除
    (3)在DataNode的复制过程中提供同步发送/接收的操作
    SecondaryNameNode:帮助NameNode合并编辑日志,减少NameNode 启动时间(不是热备)
    NameNode和SecondaryNameNode不在同一节点,有可能和ResourceManager在同一节点。
  3. Block概念
    文件上传到HDFS,第一步是数据的划分,默认每块128MB(可更改),最后一个可能小于128MB。
    为了保证数据的安全,上传文件被复制成3份,当一份数据宕掉,其余的可以补上。
  4. Block切分策略
    (1)默认数据块大小为128MB; 若文件大小不到128MB,则单独存成一个block。
    (2)大的数据块切分策略可以保证数据传输时间超过寻道时间,保证系统高吞吐率。
    (3)按大小被切分成若干个block,存储到不同节点上。
    (4)默认情况下每个block有三个副本,这个副本数量也是可以调整的。
  5. Hadoop目录结构(大数据处理的数据价值低)
    (1)bin 存放对Hadoop相关服务进行操作的脚本
    (2)etc Hadoop的配置文件目录,存放Hadoop的配置文件
    (3)sbin 存放启动或停止Hadoop相关服务的脚本
    (4)share 存放Hadoop的依赖jar包、文档、和官方案例
    (5)logs 存放Hadoop运行的日志
  6. Writable——Hadoop序列化框架的顶级接口
    Hdfs来源Google的一篇论文Gfs
    Mapreduce来源Google的一篇论文Mapreduce
    Hbase来源Google的一篇论文Bigtable
  7. Setup方法(任务前调用一次),Clenup方法(任务后调用一次)
    Map方法(有多少键值对调用多少次),三者通过Run方法实现调用。
  8. hdfs存储介绍-块的概念
    普通存储方式存在的问题:磁盘容量不够;应对并发能力弱;硬盘数据容易丢失。
  9. HDFS写流程:(Hdfs不支持数据的随机读写,不能修改文件内容)
    1.客户端请求 namenode 在文件系统的命名空间创建一个新文件
    2.namenode 执行各种检查确定权限足够且文件不存在,如果通过则为新文件创建一条记录。 3.客户端将数据包写入数据队列
    4.namenode 根据 datanode 提供的列表和副本数等参数分配适合的数据块
    5.假设副本数为3,数据写入第一个 datanode,再从第一个写到第二个 datanode,再从第二个写到第三个datanode, 所有写入完成后才会确认写入成功。
  10. HDFS读流程(一次写入,多次读取)
    1)跟namenode通信查询元数据,找到数据块所在的datanode的服务器。
    2)就近挑选一台datanode服务器,请求建立socket流。
    3)datanode开始发送数据
    4)客户端以数据包为单位接收,先在本地缓存,然后写入目标文件中,后面的数据块附加到前面的数据块,最后合成最终需要的文件。
  11. HDFS基本命令操作(hdfs://node0:8020/a)
    ls:查看指定目录下内容 mkdir:在hadoop指定目录内创建新目录
    put将本地文件存储至Hadoop (hadoop fs -put 1.txt /a)
    get:将Hadoop上某个文件down至本地 (hadoop fs -get /1.txt)
    cp:hdfs一个路径拷贝到另一个路径 (hadoop fs -cp /a/1.txt /aa)
    mv: 将本地文件存储至Hadoop (hadoop fs -mv /aa/a.txt /a)
    cat:查看文件内容 (hadoop fs -cat /a/1.txt)
    rm:删除Hadoop上指定文件 copyFromLocal:从本地复制文件到hdfs
    movefromLocal: 从本地剪切文件到hdfs (hadoop fs -moveFromLocal ./file.txt /aaa/)
    Hadoop dfsadmin-report: 用于管理HDFS集群( 不用于检测 HDFS损坏块)
    Hdfs namenode- format:格式化NameNode
  12. HDFS的javaAPI操作
    (1)拷贝hdfs文件到本地
    public class Demo1 {
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值