• 转载:HDFS-Datanode磁盘选择策略源码分析


    Datanode节点会配置多块数据盘,当我们往 HDFS 上写入新的数据块,DataNode 将会使用 volume 选择策略来为数据块选择存储的磁盘目录。选择正确的策略可以避免单块磁盘数据过多.
    HDFS在写入时有两种策略:
    • 基于轮询策略(默认), 不考虑文件大小
    • 基于可用空间的策略

    轮询策略核心代码
    x
     
    1
    // 遍历磁盘列表  
    2
    while (true) {  
    3
        final V volume = volumes.get(curVolume);  
    4
        curVolume = (curVolume + 1) % volumes.size();  
    5
        long availableVolumeSize = volume.getAvailable();  
    6
        // 可用空间大于数据块,直接返回volume  
    7
        if (availableVolumeSize > blockSize) {  
    8
        return volume;  
    9
    }  


  • 相关阅读:
    测试管理工具
    测试用例--zy
    测试计划和测试用例
    测试用例
    软件测试基础
    异步任务 ---- django-celery
    图片验证码接口
    测试作业
    数据库原理
    HTTPS原理
  • 原文地址:https://www.cnblogs.com/bitbitbyte/p/12968567.html
Copyright © 2020-2023  润新知