
# 配置HDFS存储策略
#### 功能简介
为HDFS上某个文件或文件夹指定存储策略。
#### 代码样例
1. [登录FusionInsight Manager页面](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0129.html)，选择"集群 \> *待操作集群的名称* \> 服务 \> HDFS \> 配置 \> 全部配置"。
2. 搜索并查看"dfs.storage.policy.enabled"的参数值是否为"true"，如果不是，修改为"true"，并单击"保存"，重启HDFS。
3. 查看代码。 如下是代码片段，详细代码请参考com.huawei.bigdata.hdfs.examples中的HdfsExample类。
   ```
   /** 
      * 设置存储策略 
      * @param policyName 
      * 策略名称能够被接受: 
      * <li>HOT 
      * <li>WARM 
      * <li>COLD 
      * <li>LAZY_PERSIST 
      * <li>ALL_SSD 
      * <li>ONE_SSD 
      * @throws IOException  
      */ 
    private void setStoragePolicy(String policyName) throws IOException {
       if (fSystem instanceof DistributedFileSystem) {
           DistributedFileSystem dfs = (DistributedFileSystem) fSystem;
           Path destPath = new Path(DEST_PATH);
           Boolean flag = false;
           mkdir();
           BlockStoragePolicySpi[] storage = dfs.getStoragePolicies();
           for (BlockStoragePolicySpi bs : storage) {
               if (bs.getName().equals(policyName)) {
                   flag = true;
               }
               LOG.info("StoragePolicy:" + bs.getName());
           }
           if (!flag) {
               policyName = storage[0].getName();
           }
           dfs.setStoragePolicy(destPath, policyName);
           LOG.info("success to set Storage Policy path " + DEST_PATH);
           rmdir();
       } else {
           LOG.info("SmallFile not support to set Storage Policy !!!");
       }
   }
   ```
   
 
