
# HDFS文件系统目录简介
HDFS是Hadoop的分布式文件系统（Hadoop Distributed File System），实现大规模数据可靠的分布式读写。HDFS针对的使用场景是数据读写具有"一次写，多次读"的特征，而数据"写"操作是顺序写，也就是在文件创建时的写入或者在现有文件之后的添加操作。HDFS保证一个文件在一个时刻只被一个调用者执行写操作，而可以被多个调用者执行读操作。
HDFS文件系统中目录结构如[表1]所示。
 表1HDFS文件系统目录结构 
| 路径                                                                                                                                                                                                                          | 类型      | 简略功能                                                                                                                                                          | 是否可以删除 | 删除的后果                      |
|:---|:---|:---|:---|:---|
| - /tmp/spark2x/sparkhive-scratch  - /tmp/spark/sparkhive-scratch   | 固定目录    | 存放Spark JDBCServer中metastore session临时文件。                                                                                                                     | 否      | 任务运行失败。                    |
| /tmp/sparkhive-scratch                                                                                                                                                                                                      | 固定目录    | 存放Spark CLI方式运行metastore session临时文件。                                                                                                                         | 否      | 任务运行失败。                    |
| /tmp/logs/                                                                                                                                                                                                                  | 固定目录    | 存放container日志文件。                                                                                                                                              | 是      | container日志不可查看。           |
| /tmp/carbon/                                                                                                                                                                                                                | 固定目录    | 数据导入过程中，如果存在异常CarbonData数据，则将异常数据放在此目录下。                                                                                                                      | 是      | 错误数据丢失。                    |
| /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-*xxx*.tar.gz                                                                                                                                                                                  | 固定文件    | MR分布式缓存功能使用的各jar包。                                                                                                                                            | 否      | MR分布式缓存功能无法使用。             |
| /user/hive                                                                                                                                                                                                                  | 固定目录    | Hive相关数据存储的默认路径，包含依赖的spark lib包和用户默认表数据存储位置等。                                                                                                                 | 否      | 用户数据丢失。                    |
| /user/omm-bulkload                                                                                                                                                                                                          | 临时目录    | HBase批量导入工具临时目录。                                                                                                                                              | 否      | HBase批量导入任务失败。             |
| /user/hbase                                                                                                                                                                                                                 | 临时目录    | HBase批量导入工具临时目录。                                                                                                                                              | 否      | HBase批量导入任务失败。             |
| /user/*{用户名}*                                                                                                                                                                                                               | 固定目录    | 业务用户所在目录。当前用户删除数据后，回收站默认在该目录下。 说明： "/user"以及"/user/*{用户名}*"目录禁止创建加密分区。                          | 是      | 与当前业务用户相关的任务可能会失败          |
| - /spark2xJobHistory2x  - /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用户数据丢失。               |
   
#### 查看文件系统目录
可参考以下操作登录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
   ...
   ```
   
   
 
#### 相关文档
- 如果给某目录设置quota后，往目录中写文件失败，报错"The DiskSpace quota of /tmp/tquota2 is exceeded"，请参见[HDFS目录配额不足导致写文件失败](https://support.huaweicloud.com/trouble-mrs/mrs_03_0088.html)。
- MRS支持配置单个目录下的文件数量，防止超过阈值导致任务出错，具体操作请参见[配置HDFS单目录文件数量](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_0805.html)。
- 关于更多HDFS产品介绍及增强特性等，请参见[HDFS](https://support.huaweicloud.com/productdesc-mrs/mrs_08_0007.html)。
 
