
# HDFS文件系统目录简介
HDFS是Hadoop的分布式文件系统（Hadoop Distributed File System），实现大规模数据可靠的分布式读写。HDFS针对的使用场景是数据读写具有"一次写，多次读"的特征，而数据"写"操作是顺序写，也就是在文件创建时的写入或者在现有文件之后的添加操作。HDFS保证一个文件在一个时刻只被一个调用者执行写操作，而可以被多个调用者执行读操作。
HDFS文件系统中目录结构如下表所示。
表1HDFS文件系统目录结构（适用于MRS 3.x之前版本） 
| 路径                                                 | 类型      | 简略功能                                                                                                                           | 是否可以删除 | 删除的后果                     |
|:---|:---|:---|:---|:---|
| /tmp/spark/sparkhive-scratch                       | 固定目录    | 存放Spark JDBCServer中metastore session临时文件                                                                                       | 否      | 任务运行失败                    |
| /tmp/sparkhive-scratch                             | 固定目录    | 存放Spark cli方式运行metastore session临时文件                                                                                           | 否      | 任务运行失败                    |
| /tmp/Loader-${作业名}_${MR作业id}                       | 临时目录    | 存放Loader Hbase bulkload作业的region信息，作业完成后自动删除                                                                                   | 否      | Loader Hbase Bulkload作业失败 |
| /tmp/logs                                          | 固定目录    | MR任务日志在HDFS上的聚合路径                                                                                                              | 是      | MR任务日志丢失                  |
| /tmp/archived                                      | 固定目录    | MR任务日志在HDFS上的归档路径                                                                                                              | 是      | MR任务日志丢失                  |
| /tmp/hadoop-yarn/staging                           | 固定目录    | 保存AM运行作业运行日志、作业概要信息和作业配置属性                                                                                                     | 否      | 任务运行异常                    |
| /tmp/hadoop-yarn/staging/history/done_intermediate | 固定目录    | 所有任务运行完成后，临时存放/tmp/hadoop-yarn/staging目录下文件                                                                                    | 否      | MR任务日志丢失                  |
| /tmp/hadoop-yarn/staging/history/done              | 固定目录    | 周期性扫描线程定期将done_intermediate的日志文件转移到done目录                                                                                      | 否      | MR任务日志丢失                  |
| /tmp/mr-history                                    | 固定目录    | 存储预加载历史记录文件的路径                                                                                                                 | 否      | MR历史任务日志数据丢失              |
| /tmp/hive                                          | 固定目录    | 存放Hive的临时文件                                                                                                                    | 否      | 导致Hive任务失败                |
| /tmp/hive-scratch                                  | 固定目录    | Hive运行时生成的临时数据，如会话信息等                                                                                                          | 否      | 当前执行的任务会失败                |
| /user/{user}/.sparkStaging                         | 固定目录    | 存储SparkJDBCServer应用临时文件                                                                                                        | 否      | executor启动失败              |
| /user/spark/jars                                   | 固定目录    | 存放Spark executor运行依赖包                                                                                                          | 否      | executor启动失败              |
| /user/loader                                       | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/loader/etl_dirty_data_dir                    | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/loader/etl_hbase_putlist_tmp                 | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/loader/etl_hbase_tmp                         | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/mapred                                       | 固定目录    | 存放Hadoop相关的文件                                                                                                                  | 否      | 导致Yarn启动失败                |
| /user/hive                                         | 固定目录    | Hive相关数据存储的默认路径，包含依赖的spark lib包和用户默认表数据存储位置等                                                                                   | 否      | 用户数据丢失                    |
| /user/omm-bulkload                                 | 临时目录    | HBase批量导入工具临时目录                                                                                                                | 否      | HBase批量导入任务失败             |
| /user/hbase                                        | 临时目录    | HBase批量导入工具临时目录                                                                                                                | 否      | HBase批量导入任务失败             |
| /sparkJobHistory                                   | 固定目录    | Spark eventlog数据存储目录                                                                                                           | 否      | HistoryServer服务不可用，任务运行失败 |
| /flume                                             | 固定目录    | Flume采集到HDFS文件系统中的数据存储目录                                                                                                       | 否      | Flume工作异常                 |
| /mr-history/tmp                                    | 固定目录    | MapReduce作业产生的日志存放位置                                                                                                           | 是      | 日志信息丢失                    |
| /mr-history/done                                   | 固定目录    | MR JobHistory Server管理的日志的存放位置                                                                                                 | 是      | 日志信息丢失                    |
| /tenant                                            | 添加租户时创建 | 配置租户在HDFS中的存储目录，系统默认将自动在"/tenant"目录中以租户名称创建文件夹。例如租户"ta1"，默认HDFS存储目录为"tenant/ta1"。第一次创建租户时，系统自动在HDFS根目录创建"/tenant"目录。支持自定义存储路径。 | 否      | 租户不可用                     |
| /apps{1\~5}/                                       | 固定目录    | WebHCat使用到Hive的包的路径                                                                                                            | 否      | 执行WebHCat任务会失败            |
| /hbase                                             | 固定目录    | HBase数据存储目录                                                                                                                    | 否      | HBase用户数据丢失               |
| /ats/active                                        | 固定目录    | HDFS路径，用于存储活动的应用程序的timeline数据                                                                                                  | 否      | 删除后会导致tez任务运行失败           |
| /ats/done                                          | 固定目录    | HDFS路径，用于存储完成的应用程序的timeline数据                                                                                                  | 否      | 删除后会自动创建                  |
| /flink                                             | 固定目录    | 存放checkpoint任务数据                                                                                                               | 否      | 删除会导致运行任务失败               |
   
表2HDFS文件系统目录结构（适用于MRS 3.x及之后版本） 
| 路径                                                 | 类型      | 简略功能                                                                                                                           | 是否可以删除 | 删除的后果                     |
|:---|:---|:---|:---|:---|
| /tmp/spark2x/sparkhive-scratch                     | 固定目录    | 存放Spark2x JDBCServer中metastore session临时文件                                                                                     | 否      | 任务运行失败                    |
| /tmp/sparkhive-scratch                             | 固定目录    | 存放Spark2x cli方式运行metastore session临时文件                                                                                         | 否      | 任务运行失败                    |
| /tmp/logs/                                         | 固定目录    | 存放container日志文件                                                                                                                | 是      | container日志不可查看           |
| /tmp/Loader-${作业名}_${MR作业id}                       | 临时目录    | 存放Loader Hbase bulkload作业的region信息，作业完成后自动删除                                                                                   | 否      | Loader Hbase Bulkload作业失败 |
| /tmp/hadoop-omm/yarn/system/rmstore                | 固定目录    | ResourceManager运行状态信息                                                                                                          | 是      | ResourceManager重启后状态信息丢失  |
| /tmp/archived                                      | 固定目录    | MR任务日志在HDFS上的归档路径                                                                                                              | 是      | MR任务日志丢失                  |
| /tmp/hadoop-yarn/staging                           | 固定目录    | 保存AM运行作业运行日志、作业概要信息和作业配置属性                                                                                                     | 否      | 任务运行异常                    |
| /tmp/hadoop-yarn/staging/history/done_intermediate | 固定目录    | 所有任务运行完成后，临时存放/tmp/hadoop-yarn/staging目录下文件                                                                                    | 否      | MR任务日志丢失                  |
| /tmp/hadoop-yarn/staging/history/done              | 固定目录    | 周期性扫描线程定期将done_intermediate的日志文件转移到done目录                                                                                      | 否      | MR任务日志丢失                  |
| /tmp/mr-history                                    | 固定目录    | 存储预加载历史记录文件的路径                                                                                                                 | 否      | MR历史任务日志数据丢失              |
| /tmp/hive-scratch                                  | 固定目录    | Hive运行时生成的临时数据，如会话信息等                                                                                                          | 否      | 当前执行的任务会失败                |
| /user/{user}/.sparkStaging                         | 固定目录    | 存储SparkJDBCServer应用临时文件                                                                                                        | 否      | executor启动失败              |
| /user/spark2x/jars                                 | 固定目录    | 存放Spark2x executor运行依赖包                                                                                                        | 否      | executor启动失败              |
| /user/loader                                       | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/loader/etl_dirty_data_dir                    | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/loader/etl_hbase_putlist_tmp                 | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/loader/etl_hbase_tmp                         | 固定目录    | 存放loader的作业脏数据以及HBase作业数据的临时存储目录                                                                                               | 否      | HBase作业失败或者脏数据丢失          |
| /user/oozie                                        | 固定目录    | 存放oozie运行时需要的依赖库，需用户手动上传                                                                                                       | 否      | oozie调度失败                 |
| /user/mapred/hadoop-mapreduce-*3.1.1*.tar.gz       | 固定文件    | MR分布式缓存功能使用的各jar包                                                                                                              | 否      | MR分布式缓存功能无法使用             |
| /user/hive                                         | 固定目录    | Hive相关数据存储的默认路径，包含依赖的spark lib包和用户默认表数据存储位置等                                                                                   | 否      | 用户数据丢失                    |
| /user/omm-bulkload                                 | 临时目录    | HBase批量导入工具临时目录                                                                                                                | 否      | HBase批量导入任务失败             |
| /user/hbase                                        | 临时目录    | HBase批量导入工具临时目录                                                                                                                | 否      | HBase批量导入任务失败             |
| /spark2xJobHistory2x                               | 固定目录    | Spark2x eventlog数据存储目录                                                                                                         | 否      | HistoryServer服务不可用，任务运行失败 |
| /flume                                             | 固定目录    | Flume采集到HDFS文件系统中的数据存储目录                                                                                                       | 否      | Flume工作异常                 |
| /mr-history/tmp                                    | 固定目录    | MapReduce作业产生的日志存放位置                                                                                                           | 是      | 日志信息丢失                    |
| /mr-history/done                                   | 固定目录    | MR JobHistory Server管理的日志的存放位置                                                                                                 | 是      | 日志信息丢失                    |
| /tenant                                            | 添加租户时创建 | 配置租户在HDFS中的存储目录，系统默认将自动在"/tenant"目录中以租户名称创建文件夹。例如租户"ta1"，默认HDFS存储目录为"tenant/ta1"。第一次创建租户时，系统自动在HDFS根目录创建"/tenant"目录。支持自定义存储路径。 | 否      | 租户不可用                     |
| /apps{1\~5}/                                       | 固定目录    | WebHCat使用到Hive的包的路径                                                                                                            | 否      | 执行WebHCat任务会失败            |
| /hbase                                             | 固定目录    | HBase数据存储目录                                                                                                                    | 否      | HBase用户数据丢失               |
   
#### 查看文件系统目录
可参考以下操作登录HDFS客户端进行查看。
1. 已安装客户端，例如安装路径为"/opt/client"。 
   下载并安装集群客户端的具体操作，请参考[安装MRS集群客户端](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0089.html)。
   
   
2. 以客户端安装用户，登录安装客户端的节点。
3. 执行以下命令，切换到客户端安装目录。 
   ```
   cd /opt/client
   ```
   
   
4. 执行以下命令配置环境变量。 
   ```
   source bigdata_env
   ```
   
   
5. 如果集群为开启了Kerberos认证的安全模式集群，执行以下命令进行用户认证。未开启Kerberos认证的普通模式集群无需执行用户认证。 
   ```
   kinit 组件业务用户
   ```
   
   
6. 执行以下命令，查看HDFS系统目录。 
   ```
   hdfs dfs -ls 文件夹名称
   ```
   例如执行以下命令查看HDFS系统中"/"目录下的文件信息：
   ```
   hdfs dfs -ls /
   ```
   例如执行后结果如下：
   ```
   ...
   drwxrwxrwx   - mapred     hadoop              0 2025-03-10 21:47 /mr-history
   drwxrwxrwx   - hdfs       hadoop              0 2025-03-10 21:47 /mrs
   drwx--x--x   - admin      supergroup          0 2025-03-10 21:47 /tenant
   drwxrwxrwx   - hdfs       hadoop              0 2025-03-10 21:50 /tmp
   drwxrwxrwx   - hdfs       hadoop              0 2025-03-10 21:51 /user
   ...
   ```
   
   
 
