AmosCloud

Library

Have a Question?

If you have any question you can ask below or enter what you are looking for!

day02_Hadoop

Hadoop

  1. 是什么
  2. 怎么安装
  3. 怎么进行命令行操作
  4. JavaAPI操作
  5. 核心原理
  6. 优化

命令行

  1. Hadoop1风格的hdfs操作

    hadoop fs -xxx
  2. Hadoop2,3风格的hdfs操作

    hdfs dfs -xxx

JavaApi

  • FSAPI操作关键类
    • FileSystem

机架感知

  • TTL time to live

    • 数据包在网络中存活的时间(转发的次数)
    • TTL每经过一个网络设备(路由器,交换机)就会-1直到为0就丢弃
    • 常见的操作系统
    • window发送的数据默认ttl是128
    • linux发送的数据默认ttl是64
  • 知道了TTL的原理我们就可以计算我和对方的网络距离

NameNode和SecondaryNameNode

  • NN

    • 名字节点

    • 存储HDFS的meta(元数据)

    • 元数据

      1. edits-log 编辑日志
      2. fsimage 镜像文件
    • NN在启动时会将所有的edits-log和fsimage加载到内存中
      但是edits-log中有大量的无用信息会占用内存
      所以我们需要定期对他进行清理以及合并

    • NN相对负载较高所以设计了SNN来帮助NN完成清理以及合并的工作

  • Meta信息是针对于块来说的

    Block ID: 1073741872 # 创建块是生成的唯一标识
    Block Pool ID: BP-466873668-192.168.222.91-1595215401871 # 存储的块所在的块池信息
    Generation Stamp: 1048 #  ???
    Size: 134217728 # 当前块的大小
    Availability: # 当前块的可用副本所在服务器的主机名
    test02
    test01
    test03
  • 真正的文件块存储在每个节点的

    /opt/hadoop-2.7.7/data/dfs/data/current/BP-466873668-192.168.222.91-1595215401871/current/finalized/subdir0/subdir0
hdfs dfs -put /root/a.txt  /
hdfs dfs -put /root/b.txt  /
hdfs dfs -mv /b.txt c.txt
hdfs dfs -rmr /a.txt
1.上传a.txt
2.上传b.txt
3.改名b.txt->c.txt
4.删除a.txt
c的文件

You must be logged in to post a comment.