Hadoop学习总结

- Hadoop定义

- Hadoop组件

  1. 分布式文件系统HDFS
    这里写图片描述

    1. NameNode
      1. 维护HDFS文件系统,是文件系统的主节点,不存储文件数据
      2. 接受客户端的请求,如上传文件,下载文件,穿件目录等。
        这里写图片描述
        这里写图片描述
      3. 记录了客户端的操作日志(edits),保存了HDFS的最新状态
        1. edits文件保存了自最后一次检查点之前的对HDFS的操作信息,比如说新增文件,保存文件,删除目录等信息。
        2. 保存目录为${HADOOP_HOME}/tmp/dfs/name/current/
        3. 查看可以使用hadoop oev -i xxxxxxxxxxx
      4. 维护HDFS文件的元数据,将内存中不经常用到的元数据保存到硬盘中(fsimage文件)
        1. fsimage是存储在磁盘上的元数据信息的检查点,里边存储的是自最后一次检查点之前的DHFS文件目录和文件的序列化信息
    2. DataNode数据节点
      1. 以数据块为单位储存数据
      2. 数据保存的目录由hadoop.tmp.dir决定
    3. Secondary NameNode第二名称节点
      1. 主要是合并日日志
      2. 日志合并过程
        这里写图片描述
  2. 分布式计算Yarn``MapReduce
    这里写图片描述

    1. ResourceManager(资源管理器)
      1. 接受客户端的请求:执行任务
      2. 分配任务资源
      3. 分配任务
    2. NodeManager(节点管理器,运行MapReduce任务)
      1. 从DataNode获取数据,执行任务

- Hadoop集成Snappy压缩(Hadoop为CDH版本)

  1. 去该网站下载你对应hadoop的cdh版本 (http://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5.7.0/RPMS/x86_64/)
  2. rpm解压,默认的安装目录是 /usr/lib/hadoop/
    rpm -ivh hadoop-2.6.0+cdh5.7.0+1280-1.cdh5.7.0.p0.92.el7.x86_64.rpm --nodeps
  3. /usr/lib/hadoop/lib/native目录拷贝到${HADOOP_HOME}/lib下,然后在${HADOOP_HOME}/bin下运行:
    hadoop hadoop checknative
  4. 出现snappy为true就说明你成功了
    这里写图片描述
  5. 在命令行使用压缩:
    hadoop jar /opt/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount -Dmapreduce.map.output.compress=true -Dmapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.SnappyCodec /user/liyuzhi/wordcount/wordcount.txt /user/liyuzhi/wordcount/output/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值