美文网首页
HDFS 异构储存配置及基本命令操作

HDFS 异构储存配置及基本命令操作

作者: 姜小嫌 | 来源:发表于2020-01-02 13:33 被阅读0次

    hadoop-2.8.4 部署我就不说了 网上一大堆

    hdfs-site.xml datanode 储存路径挂载需要修改如下:

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>[DISK]file:///data/hdfs-disk/hadoop/dfs/data,[SSD]file:///data/hdfs-ssd/hadoop/dfs/data,[RAM_DISK]file:///data/hdfs-ram/hadoop/dfs/data</value>
    </property>
    

    我们假设你有 ssd/ram-disk 等挂载, 创建好以下目录

    sudo mkdir -p /data/hadoop/dfs/name
    sudo mkdir -p /data/hdfs-disk/hadoop/dfs/data
    sudo mkdir -p /data/hdfs-ssd/hadoop/dfs/data
    sudo mkdir -p /data/hdfs-ram/hadoop/dfs/data
    
    sudo chown -R hadoop:hadoop /data/hadoop/dfs/name
    sudo chown -R hadoop:hadoop /data/hdfs-disk/hadoop/dfs/data
    sudo chown -R hadoop:hadoop /data/hdfs-ssd/hadoop/dfs/data
    sudo chown -R hadoop:hadoop /data/hdfs-ram/hadoop/dfs/data
    

    把一个默认[DISK]储存的文件变成[SSD]储存步骤 / 如果你想把一个目录下文件变成某种策略,也可以按照以下操作完成

    1. hdfs dfs -put hadoop-2.8.4.tar.gz /
    2. hdfs fsck /hadoop-2.8.4.tar.gz -files -locations -blocks
    查看当前文件的blocks 所在节点 及储存类型如DISK/SSD等,默认上传都是DISK
    3. hdfs storagepolicies -setStoragePolicy -path /hadoop-2.8.4.tar.gz -policy ONE_SSD 
    修改储存策略为ONE_SSD
    4. hdfs mover -p /hadoop-2.8.4.tar.gz
    执行修改的储存策略
    5.hdfs fsck /hadoop-2.8.4.tar.gz -files -locations -blocks  或者 hdfs storagepolicies -getStoragePolicy -path /hadoop-2.8.4.tar.gz
    查看发现已经有一个副本在SSD上了
    

    如果你想把例如HBASE WALS目录指定成ALL_SSD策略,如下操作即可

    1. hdfs dfs -mkdir /ssd
    2. hdfs storagepolicies -setStoragePolicy -path /ssd -policy ALL_SSD 
    3. hadoop fs -put zookeeper-3.4.6.jar /ssd/
    4. hdfs fsck /ssd/zookeeper-3.4.6.jar -files -locations -blocks 或者 hdfs storagepolicies -getStoragePolicy -path /ssd/zookeeper-3.4.6.jar
    查看得知 /ssd/zookeeper-3.4.6.jar 已经是ssd储存了
    The storage policy of /ssd/zookeeper-3.4.6.jar:
    BlockStoragePolicy{ALL_SSD:12, storageTypes=[SSD], creationFallbacks=[DISK], replicationFallbacks=[DISK]}
    

    在hdfs中存储策略分为以下几种:

    HOT:用于存储热数据,默认情况,hdfs的数据都采用的是HOT策略,所有的副本都存储在DISK中。
    COLD:用于存储冷数据,所有的数据副本存储在ARCHIV中。
    Warm:有些数据存在DISK中,有些做归档处理 。
    All_SSD:所有的数据副本都存储在SSD中。
    One_SSD:将数据的一个副本存储在SSD中,其余的副本存储在磁盘中。
    Lazy_Persist:用于在内存中写入单个副本的块。该副本首先在RAM_DISK中写入,后续持久化到DISK中。
    

    常用命令:

    1.切换到hdfs用户,查看当前有哪些存储策略可以用
    hdfs storagepolicies –listPolicies
    
    2.获取指定路径的存储策略
    hdfs storagepolicies -getStoragePolicy -path /user
    
    3. 指定路径的储存策略 文件目录均可
    hdfs storagepolicies -setStoragePolicy -path /hadoop-2.8.4.tar.gz -policy ONE_SSD
    
    4.执行修改的储存策略的文件 一般需要花一些时间
    例如之前他是[DISK]  /hadoop-2.8.4.tar.gz ,然后你指定了储存策略为[ONE_SSD] 然后执行  hdfs mover -p /hadoop-2.8.4.tar.gz 后, 有一个副本就在ssd上了
     hdfs mover -p /hadoop-2.8.4.tar.gz
    
    
    

    相关文章

      网友评论

          本文标题:HDFS 异构储存配置及基本命令操作

          本文链接:https://www.haomeiwen.com/subject/wpxooctx.html