HDFS FsImage 与 Edits 完全解析:从元数据内核到集群恢复的实战指南
摘要:你的 NameNode 突然宕机了。重启时加载了 FsImage,然后开始重放 Edits 日志——一切看起来正常,直到你发现某个目录下的文件不见了。紧急检查 FsImage 发现快照里根本没有这个目录,再去翻 Edits 日志,找到了那条
OP_MKDIR事务,但事务号竟然比 FsImage 的txid还大——这意味着重启时根本没有重放它。你可能觉得“NameNode 恢复不就是fsimage + edits嘛,有啥好讲的”。但当你要从上百 GB 的元数据中精准定位一条“幽灵事务”、理解genstampV1与genstampV2的设计意图、或者搞清楚OP_RENAME_OLD为什么还没被淘汰时,你就知道这不是简单的“恢复流程”——这是 HDFS 元数据内核的完整解码。本篇以一份真实的 FsImage + edits_inprogress XML 文件为标本,从根目录的INodeSection到 WAL 日志的FileUnderConstructionSection,逐段拆解 HDFS 的元数据内核。读完你将彻底掌握:FsImage 八大核心分区的设计意图、Edits 八种 OPCODE 的事务语义、NameNode 故障恢复的完整链路,以及如何用oiv/oev工具在元数据层面精准排查问题。
一、元数据内核:HDFS 的“灵魂双生子”
想象 HDFS 是一栋摩天大楼,FsImage 是大楼竣工时的完整施工蓝图——每一面墙、每一根柱子都画得清清楚楚。而 edits_inprogress 是每天的施工变更日志——“今天在第 3 层加了一扇窗”、“明天要在 5 层砌一面新墙”。NameNode 就是总工程师:每次启动时先看蓝图(FsImage),再把变更日志(Edits)一条条“照图施工”,最终还原出完整的大楼现状。
这两个文件共同构成了 HDFS 的元数据内核,缺一不可。
前置基础概念
| 概念 | 本质 | 关键特征 | 查看命令 |
|---|---|---|---|
| FsImage | 全量元数据快照 | 静态、只读、定期生成 | hdfs oiv -i fsimage -o fsimage.xml |
| edits_inprogress | 增量操作日志 | 实时追加、事务ID全局递增 | hdfs oev -i edits_inprogress -o edits_inprogress.xml |
| 协同机制 | 快照 + 增量 | FsImage 恢复基础,Edits 恢复增量变更 | 两者合并得到最新状态 |
核心关系:
FsImage (TXID=6826) + Edits (TXID=6827~6834) = 当前完整文件系统
二、edits_inprogress.xml:增量事务的“流水账本”
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<EDITS>
<EDITS_VERSION>-64</EDITS_VERSION>
<RECORD>
<OPCODE>OP_START_LOG_SEGMENT</OPCODE>
<DATA>
<TXID>6827</TXID>
</DATA>
</RECORD>
<RECORD>
<OPCODE>OP_MKDIR</OPCODE>
<DATA>
<TXID>6828</TXID>
<LENGTH>0</LENGTH>
<INODEID>18063</INODEID>
<PATH>/testdata</PATH>
<TIMESTAMP>1786014843447</TIMESTAMP>
<PERMISSION_STATUS>
<USERNAME>suben</USERNAME>
<GROUPNAME>supergroup</GROUPNAME>
<MODE>493</MODE>
</PERMISSION_STATUS>
</DATA>
</RECORD>
<RECORD>
<OPCODE>OP_ADD</OPCODE>
<DATA>
<TXID>6829</TXID>
<LENGTH>0</LENGTH>
<INODEID>18064</INODEID>
<PATH>/testdata/fsimage_0000000000000006826._COPYING_</PATH>
<REPLICATION>3</REPLICATION>
<MTIME>1786014894864</MTIME>
<ATIME>1786014894864</ATIME>
<BLOCKSIZE>134217728</BLOCKSIZE>
<CLIENT_NAME>DFSClient_NONMAPREDUCE_661334017_1</CLIENT_NAME>
<CLIENT_MACHINE>192.168.85.132</CLIENT_MACHINE>
<OVERWRITE>true</OVERWRITE>
<PERMISSION_STATUS>
<USERNAME>suben</USERNAME>
<GROUPNAME>supergroup</GROUPNAME>
<MODE>420</MODE>
</PERMISSION_STATUS>
<ERASURE_CODING_POLICY_ID>0</ERASURE_CODING_POLICY_ID>
<RPC_CLIENTID>b424d658-aa06-4ad1-827a-7fb1cb41700b</RPC_CLIENTID>
<RPC_CALLID>3</RPC_CALLID>
</DATA>
</RECORD>
<RECORD>
<OPCODE>OP_ALLOCATE_BLOCK_ID</OPCODE>
<DATA>
<TXID>6830</TXID>
<BLOCK_ID>1073742528</BLOCK_ID>
</DATA>
</RECORD>
<RECORD>
<OPCODE>OP_SET_GENSTAMP_V2</OPCODE>
<DATA>
<TXID>6831</TXID>
<GENSTAMPV2>1704</GENSTAMPV2>
</DATA>
</RECORD>
<RECORD>
<OPCODE>OP_ADD_BLOCK</OPCODE>
<DATA>
<TXID>6832</TXID>
<PATH>/testdata/fsimage_0000000000000006826._COPYING_</PATH>
<BLOCK>
<BLOCK_ID>1073742528</BLOCK_ID>
<NUM_BYTES>0</NUM_BYTES>
<GENSTAMP>1704</GENSTAMP>
</BLOCK>
<RPC_CLIENTID/>
<RPC_CALLID>-2</RPC_CALLID>
</DATA>
</RECORD>
<RECORD>
<OPCODE>OP_CLOSE</OPCODE>
<DATA>
<TXID>6833</TXID>
<LENGTH>0</LENGTH>
<INODEID>0</INODEID>
<PATH>/testdata/fsimage_0000000000000006826._COPYING_</PATH>
<REPLICATION>3</REPLICATION>
<MTIME>1786014895151</MTIME>
<ATIME>1786014894864</ATIME>
<BLOCKSIZE>134217728</BLOCKSIZE>
<CLIENT_NAME/>
<CLIENT_MACHINE/>
<OVERWRITE>false</OVERWRITE>
<BLOCK>
<BLOCK_ID>1073742528</BLOCK_ID>
<NUM_BYTES>14835</NUM_BYTES>
<GENSTAMP>1704</GENSTAMP>
</BLOCK>
<PERMISSION_STATUS>
<USERNAME>suben</USERNAME>
<GROUPNAME>supergroup</GROUPNAME>
<MODE>420</MODE>
</PERMISSION_STATUS>
</DATA>
</RECORD>
<RECORD>
<OPCODE>OP_RENAME_OLD</OPCODE>
<DATA>
<TXID>6834</TXID>
<LENGTH>0</LENGTH>
<SRC>/testdata/fsimage_0000000000000006826._COPYING_</SRC>
<DST>/testdata/fsimage_0000000000000006826</DST>
<TIMESTAMP>1786014895157</TIMESTAMP>
<RPC_CLIENTID>b424d658-aa06-4ad1-827a-7fb1cb41700b</RPC_CLIENTID>
<RPC_CALLID>8</RPC_CALLID>
</DATA>
</RECORD>
</EDITS>
这份完整的 edits_inprogress.xml 记录了一个完整业务场景:在 /testdata 目录下生成一份 fsimage 镜像文件,包含建目录、写临时文件、分配块、关闭文件、重命名转正的全流程。
2.1 XML 结构总览
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<EDITS>
<EDITS_VERSION>-64</EDITS_VERSION>
<!-- 8 条 RECORD,TXID 从 6827 到 6834 -->
</EDITS>
<EDITS_VERSION>-64:Hadoop 3.x 标准版本号,兼容 Hadoop 3.1.3+。- 每条
<RECORD>代表一条元数据事务,TXID全局有序递增,是 HDFS 世界里的“原子时钟”。
2.2 八种 OPCODE 逐条拆解
| TXID | OPCODE | 业务含义 |
|---|---|---|
| 6827 | OP_START_LOG_SEGMENT | 开启新日志段,标志本段事务起始 |
| 6828 | OP_MKDIR | 创建目录 /testdata |
| 6829 | OP_ADD | 创建临时文件 ._COPYING_ |
| 6830 | OP_ALLOCATE_BLOCK_ID | 分配全局唯一 Block ID |
| 6831 | OP_SET_GENSTAMP_V2 | 设置块版本戳 GenStamp |
| 6832 | OP_ADD_BLOCK | 将块绑定到文件 |
| 6833 | OP_CLOSE | 关闭文件,写入实际大小 |
| 6834 | OP_RENAME_OLD | 重命名去掉 ._COPYING_ 后缀 |
重点 OPCODE 深度解读:
1. OP_START_LOG_SEGMENT — 日志段的“开篇词”
每次滚动 edits 文件时,第一条记录必然是 OP_START_LOG_SEGMENT,记录起始 TXID。这是 NameNode 重启时的“起点标记”——从这条记录开始重放。
2. OP_ADD + ._COPYING_ — HDFS 写入的“临时工”模式
HDFS 写入文件时,先创建带 ._COPYING_ 后缀的临时文件。这个机制保证了客户端写入失败时,NameNode 不会留下“半成品”文件的元数据——因为只有 OP_CLOSE + OP_RENAME_OLD 成对出现后,文件才会正式“转正”。
3. OP_ALLOCATE_BLOCK_ID + OP_ADD_BLOCK — 块分配的两阶段提交
OP_ALLOCATE_BLOCK_ID只是预留 ID,不绑定到任何文件。OP_ADD_BLOCK才真正把块 ID 挂到文件的blocks列表下。
这种分离设计保证了块 ID 分配与文件绑定解耦,在分布式场景下更健壮。
4. OP_CLOSE — 从“写入中”到“已落地”的质变
OP_CLOSE 记录最终的 NUM_BYTES=14835,文件从“正在写入”变成“已关闭”。如果 NameNode 在 OP_ADD_BLOCK 后、OP_CLOSE 前宕机,重启后该临时文件会被清理(因为 FileUnderConstructionSection 中标记了它)。
5. OP_RENAME_OLD — 为什么还有“OLD”版本?
OP_RENAME_OLD 是旧版重命名操作码,Hadoop 2.x 起新增了支持跨目录重命名的 OP_RENAME,但 OLD 版本仍保留以兼容老集群的 edits 日志——HDFS 的“向后兼容”承诺藏在每一行代码里。
三、FsImage:全量元数据的“八块拼图”
<?xml version="1.0"?>
<fsimage>
<version>
<layoutVersion>-64</layoutVersion>
<onDiskVersion>1</onDiskVersion>
<oivRevision>ba631c436b806728f8ec2f54ab1e289526c90579</oivRevision>
</version>
<NameSection>
<namespaceId>119917347</namespaceId>
<genstampV1>1000</genstampV1>
<genstampV2>1703</genstampV2>
<genstampV1Limit>0</genstampV1Limit>
<lastAllocatedBlockId>1073742527</lastAllocatedBlockId>
<txid>6826</txid>
</NameSection>
<ErasureCodingSection>
<erasureCodingPolicy>
<policyId>1</policyId>
<policyName>RS-6-3-1024k</policyName>
<cellSize>1048576</cellSize>
<policyState>DISABLED</policyState>
<ecSchema>
<codecName>rs</codecName>
<dataUnits>6</dataUnits>
<parityUnits>3</parityUnits>
</ecSchema>
</erasureCodingPolicy>
<erasureCodingPolicy>
<policyId>2</policyId>
<policyName>RS-3-2-1024k</policyName>
<cellSize>1048576</cellSize>
<policyState>DISABLED</policyState>
<ecSchema>
<codecName>rs</codecName>
<dataUnits>3</dataUnits>
<parityUnits>2</parityUnits>
</ecSchema>
</erasureCodingPolicy>
<erasureCodingPolicy>
<policyId>3</policyId>
<policyName>RS-LEGACY-6-3-1024k</policyName>
<cellSize>1048576</cellSize>
<policyState>DISABLED</policyState>
<ecSchema>
<codecName>rs-legacy</codecName>
<dataUnits>6</dataUnits>
<parityUnits>3</parityUnits>
</ecSchema>
</erasureCodingPolicy>
<erasureCodingPolicy>
<policyId>4</policyId>
<policyName>XOR-2-1-1024k</policyName>
<cellSize>1048576</cellSize>
<policyState>DISABLED</policyState>
<ecSchema>
<codecName>xor</codecName>
<dataUnits>2</dataUnits>
<parityUnits>1</parityUnits>
</ecSchema>
</erasureCodingPolicy>
<erasureCodingPolicy>
<policyId>5</policyId>
<policyName>RS-10-4-1024k</policyName>
<cellSize>1048576</cellSize>
<policyState>DISABLED</policyState>
<ecSchema>
<codecName>rs</codecName>
<dataUnits>10</dataUnits>
<parityUnits>4</parityUnits>
</ecSchema>
</erasureCodingPolicy>
</ErasureCodingSection>
<INodeSection>
<lastInodeId>18062</lastInodeId>
<numInodes>180</numInodes>
<inode>
<id>16385</id>
<type>DIRECTORY</type>
<name>
</name>
<mtime>1762916570261</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>9223372036854775807</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16386</id>
<type>DIRECTORY</type>
<name>user</name>
<mtime>1763448372311</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16478</id>
<type>DIRECTORY</type>
<name>hbase</name>
<mtime>1785979247513</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16480</id>
<type>FILE</type>
<name>hbase.version</name>
<replication>3</replication>
<mtime>1762764363044</mtime>
<atime>1785979246989</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741867</id>
<genstamp>1043</genstamp>
<numBytes>7</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16481</id>
<type>FILE</type>
<name>hbase.id</name>
<replication>3</replication>
<mtime>1762764363289</mtime>
<atime>1785979247361</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741868</id>
<genstamp>1044</genstamp>
<numBytes>42</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16482</id>
<type>DIRECTORY</type>
<name>data</name>
<mtime>1762764379849</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16483</id>
<type>DIRECTORY</type>
<name>hbase</name>
<mtime>1762764378266</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16484</id>
<type>DIRECTORY</type>
<name>meta</name>
<mtime>1762764364274</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16485</id>
<type>DIRECTORY</type>
<name>1588230740</name>
<mtime>1785979817902</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16486</id>
<type>FILE</type>
<name>.regioninfo</name>
<replication>3</replication>
<mtime>1762764363950</mtime>
<atime>1762764363486</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741869</id>
<genstamp>1045</genstamp>
<numBytes>32</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16487</id>
<type>DIRECTORY</type>
<name>info</name>
<mtime>1785979818134</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16488</id>
<type>DIRECTORY</type>
<name>table</name>
<mtime>1762873774777</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16489</id>
<type>DIRECTORY</type>
<name>hbase</name>
<mtime>1762764379447</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16490</id>
<type>DIRECTORY</type>
<name>meta</name>
<mtime>1762764364175</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16491</id>
<type>DIRECTORY</type>
<name>1588230740</name>
<mtime>1762764364175</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16492</id>
<type>DIRECTORY</type>
<name>recovered.edits</name>
<mtime>1785979257256</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16494</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1762764364276</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16495</id>
<type>FILE</type>
<name>.tableinfo.0000000001</name>
<replication>3</replication>
<mtime>1762764364270</mtime>
<atime>1785979247439</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741870</id>
<genstamp>1046</genstamp>
<numBytes>996</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16496</id>
<type>DIRECTORY</type>
<name>.tabledesc</name>
<mtime>1762764364276</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16498</id>
<type>DIRECTORY</type>
<name>archive</name>
<mtime>1785990053068</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16499</id>
<type>DIRECTORY</type>
<name>.hbck</name>
<mtime>1762764364303</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16500</id>
<type>DIRECTORY</type>
<name>mobdir</name>
<mtime>1762764364307</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16501</id>
<type>DIRECTORY</type>
<name>WALs</name>
<mtime>1785979259356</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16502</id>
<type>DIRECTORY</type>
<name>oldWALs</name>
<mtime>1786012851974</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16503</id>
<type>DIRECTORY</type>
<name>corrupt</name>
<mtime>1762764364316</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16504</id>
<type>DIRECTORY</type>
<name>MasterProcWALs</name>
<mtime>1786011681807</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16505</id>
<type>DIRECTORY</type>
<name>staging</name>
<mtime>1762764364321</mtime>
<permission>suben:supergroup:0711</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16519</id>
<type>DIRECTORY</type>
<name>namespace</name>
<mtime>1762764378213</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16520</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1762764378203</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16521</id>
<type>FILE</type>
<name>.tableinfo.0000000001</name>
<replication>3</replication>
<mtime>1762764378199</mtime>
<atime>1785979247728</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741877</id>
<genstamp>1053</genstamp>
<numBytes>476</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16522</id>
<type>DIRECTORY</type>
<name>.tabledesc</name>
<mtime>1762764378203</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16523</id>
<type>DIRECTORY</type>
<name>231886d90139df2dca79941baddba3ec</name>
<mtime>1762869310456</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16524</id>
<type>FILE</type>
<name>.regioninfo</name>
<replication>3</replication>
<mtime>1762764378255</mtime>
<atime>1762764378215</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741878</id>
<genstamp>1054</genstamp>
<numBytes>42</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16525</id>
<type>DIRECTORY</type>
<name>info</name>
<mtime>1762764767004</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16526</id>
<type>DIRECTORY</type>
<name>namespace</name>
<mtime>1762764379448</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16527</id>
<type>DIRECTORY</type>
<name>231886d90139df2dca79941baddba3ec</name>
<mtime>1762764379448</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16528</id>
<type>DIRECTORY</type>
<name>recovered.edits</name>
<mtime>1785979260819</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16530</id>
<type>DIRECTORY</type>
<name>default</name>
<mtime>1762873094960</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16532</id>
<type>DIRECTORY</type>
<name>student</name>
<mtime>1762764710341</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16533</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1762764710326</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16534</id>
<type>FILE</type>
<name>.tableinfo.0000000001</name>
<replication>3</replication>
<mtime>1762764710320</mtime>
<atime>1785979247711</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741879</id>
<genstamp>1055</genstamp>
<numBytes>477</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16535</id>
<type>DIRECTORY</type>
<name>.tabledesc</name>
<mtime>1762764710326</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16536</id>
<type>DIRECTORY</type>
<name>c7fda7e8f0c589419835be79a1601622</name>
<mtime>1762764979361</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16537</id>
<type>FILE</type>
<name>.regioninfo</name>
<replication>3</replication>
<mtime>1762764710389</mtime>
<atime>1762764710345</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741880</id>
<genstamp>1056</genstamp>
<numBytes>42</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16538</id>
<type>DIRECTORY</type>
<name>info</name>
<mtime>1762764978537</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16539</id>
<type>DIRECTORY</type>
<name>default</name>
<mtime>1762873095395</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16540</id>
<type>DIRECTORY</type>
<name>student</name>
<mtime>1762764710997</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16541</id>
<type>DIRECTORY</type>
<name>c7fda7e8f0c589419835be79a1601622</name>
<mtime>1762764710998</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16542</id>
<type>DIRECTORY</type>
<name>recovered.edits</name>
<mtime>1785979260798</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16546</id>
<type>FILE</type>
<name>b5290638f3c94cf081e6a1e66444a6cb</name>
<replication>3</replication>
<mtime>1762764766913</mtime>
<atime>1785979260560</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741881</id>
<genstamp>1057</genstamp>
<numBytes>4896</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16554</id>
<type>FILE</type>
<name>5d1c8ae98b234c75939220ea4ae3f09e</name>
<replication>3</replication>
<mtime>1762764978500</mtime>
<atime>1785979260512</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073741884</id>
<genstamp>1060</genstamp>
<numBytes>5030</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>16572</id>
<type>DIRECTORY</type>
<name>hive</name>
<mtime>1762782912245</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>16573</id>
<type>DIRECTORY</type>
<name>warehouse</name>
<mtime>1762919478991</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17084</id>
<type>DIRECTORY</type>
<name>apache_atlas_janus</name>
<mtime>1762872404379</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17085</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1762872428196</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17087</id>
<type>DIRECTORY</type>
<name>.tabledesc</name>
<mtime>1762872428200</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17088</id>
<type>DIRECTORY</type>
<name>69bdee9741adfb999af8c5f05b332b0c</name>
<mtime>1785989251944</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17089</id>
<type>FILE</type>
<name>.regioninfo</name>
<replication>3</replication>
<mtime>1762872404428</mtime>
<atime>1762872404384</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742044</id>
<genstamp>1220</genstamp>
<numBytes>53</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17090</id>
<type>DIRECTORY</type>
<name>s</name>
<mtime>1785943916553</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17091</id>
<type>DIRECTORY</type>
<name>apache_atlas_janus</name>
<mtime>1762872405209</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17092</id>
<type>DIRECTORY</type>
<name>69bdee9741adfb999af8c5f05b332b0c</name>
<mtime>1762872405209</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17093</id>
<type>DIRECTORY</type>
<name>recovered.edits</name>
<mtime>1785979260847</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17100</id>
<type>DIRECTORY</type>
<name>i</name>
<mtime>1785926484726</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17104</id>
<type>DIRECTORY</type>
<name>e</name>
<mtime>1785926484713</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17108</id>
<type>DIRECTORY</type>
<name>f</name>
<mtime>1762876270342</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17112</id>
<type>DIRECTORY</type>
<name>g</name>
<mtime>1785926484733</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17116</id>
<type>DIRECTORY</type>
<name>h</name>
<mtime>1762876270395</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17120</id>
<type>DIRECTORY</type>
<name>l</name>
<mtime>1785943916510</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17124</id>
<type>DIRECTORY</type>
<name>m</name>
<mtime>1785989332697</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17127</id>
<type>FILE</type>
<name>.tableinfo.0000000009</name>
<replication>3</replication>
<mtime>1762872428192</mtime>
<atime>1785979247698</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742053</id>
<genstamp>1229</genstamp>
<numBytes>3939</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17128</id>
<type>DIRECTORY</type>
<name>t</name>
<mtime>1762872430066</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17140</id>
<type>DIRECTORY</type>
<name>apache_atlas_entity_audit</name>
<mtime>1762873094864</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17141</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1762873094856</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17142</id>
<type>FILE</type>
<name>.tableinfo.0000000001</name>
<replication>3</replication>
<mtime>1762873094850</mtime>
<atime>1785979247663</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742058</id>
<genstamp>1234</genstamp>
<numBytes>496</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17143</id>
<type>DIRECTORY</type>
<name>.tabledesc</name>
<mtime>1762873094856</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17144</id>
<type>DIRECTORY</type>
<name>b756076cadb09c65dc728c32c14ddf38</name>
<mtime>1785916413211</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17145</id>
<type>FILE</type>
<name>.regioninfo</name>
<replication>3</replication>
<mtime>1762873094955</mtime>
<atime>1762873094869</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742059</id>
<genstamp>1235</genstamp>
<numBytes>60</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17146</id>
<type>DIRECTORY</type>
<name>dt</name>
<mtime>1762922867887</mtime>
<permission>suben:supergroup:0755</permission>
<xattrs>
<xattr>
<ns>SYSTEM</ns>
<name>hsm.block.storage.policy.id</name>
<val>\0007;</val>
</xattr>
</xattrs>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17147</id>
<type>DIRECTORY</type>
<name>apache_atlas_entity_audit</name>
<mtime>1762873095395</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17148</id>
<type>DIRECTORY</type>
<name>b756076cadb09c65dc728c32c14ddf38</name>
<mtime>1762873095396</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17149</id>
<type>DIRECTORY</type>
<name>recovered.edits</name>
<mtime>1785979260798</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17164</id>
<type>FILE</type>
<name>14cc5e7045ff4e4382edb102ceb8a6f2</name>
<replication>3</replication>
<mtime>1762873664475</mtime>
<atime>1785979257093</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742062</id>
<genstamp>1238</genstamp>
<numBytes>5101</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17338</id>
<type>FILE</type>
<name>c8655d07786448dcbb35adff05402754</name>
<replication>3</replication>
<mtime>1762876269799</mtime>
<atime>1785979260173</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742141</id>
<genstamp>1317</genstamp>
<numBytes>6744</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17342</id>
<type>FILE</type>
<name>06cc1c9d2cd145fdbe3a6d2d5c49b75b</name>
<replication>3</replication>
<mtime>1762876270020</mtime>
<atime>1785979260335</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742143</id>
<genstamp>1319</genstamp>
<numBytes>163472</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17472</id>
<type>DIRECTORY</type>
<name>tmp</name>
<mtime>1762916948533</mtime>
<permission>suben:supergroup:0733</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17473</id>
<type>DIRECTORY</type>
<name>hive</name>
<mtime>1762916838041</mtime>
<permission>suben:supergroup:0733</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17474</id>
<type>DIRECTORY</type>
<name>suben</name>
<mtime>1785940729553</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17485</id>
<type>DIRECTORY</type>
<name>_resultscache_</name>
<mtime>1762928835652</mtime>
<permission>suben:supergroup:0733</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17515</id>
<type>DIRECTORY</type>
<name>hadoop-yarn</name>
<mtime>1762916943894</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17516</id>
<type>DIRECTORY</type>
<name>staging</name>
<mtime>1762916954682</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17517</id>
<type>DIRECTORY</type>
<name>suben</name>
<mtime>1762916943895</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17518</id>
<type>DIRECTORY</type>
<name>.staging</name>
<mtime>1762919567165</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17527</id>
<type>DIRECTORY</type>
<name>logs</name>
<mtime>1762916948634</mtime>
<permission>suben:suben:1777</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17528</id>
<type>DIRECTORY</type>
<name>suben</name>
<mtime>1762916948639</mtime>
<permission>suben:suben:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17529</id>
<type>DIRECTORY</type>
<name>logs-tfile</name>
<mtime>1763631225342</mtime>
<permission>suben:suben:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17531</id>
<type>DIRECTORY</type>
<name>history</name>
<mtime>1762917137793</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17532</id>
<type>DIRECTORY</type>
<name>done_intermediate</name>
<mtime>1762916954700</mtime>
<permission>suben:supergroup:1777</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17533</id>
<type>DIRECTORY</type>
<name>suben</name>
<mtime>1762919657671</mtime>
<permission>suben:supergroup:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17578</id>
<type>DIRECTORY</type>
<name>done</name>
<mtime>1762917137793</mtime>
<permission>suben:supergroup:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17579</id>
<type>DIRECTORY</type>
<name>2025</name>
<mtime>1762917137793</mtime>
<permission>suben:supergroup:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17580</id>
<type>DIRECTORY</type>
<name>11</name>
<mtime>1762917137793</mtime>
<permission>suben:supergroup:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17581</id>
<type>DIRECTORY</type>
<name>12</name>
<mtime>1763599326782</mtime>
<permission>suben:supergroup:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17605</id>
<type>DIRECTORY</type>
<name>dd0b2ea5-044a-4a14-8600-50b424cf7186</name>
<mtime>1762919086898</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17606</id>
<type>DIRECTORY</type>
<name>_tmp_space.db</name>
<mtime>1762919086898</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17607</id>
<type>DIRECTORY</type>
<name>results-63eb6e61-b23b-4793-a882-9ed1f0d5bff1</name>
<mtime>1762919087844</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17608</id>
<type>DIRECTORY</type>
<name>8f1b14d6-64f2-4d83-8838-26ed259756dd</name>
<mtime>1762919087906</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17609</id>
<type>DIRECTORY</type>
<name>_tmp_space.db</name>
<mtime>1762919087906</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17610</id>
<type>DIRECTORY</type>
<name>6bb74970-23e0-40b4-ba36-978bef6c8af7</name>
<mtime>1762919148590</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17611</id>
<type>DIRECTORY</type>
<name>_tmp_space.db</name>
<mtime>1762919148590</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17612</id>
<type>DIRECTORY</type>
<name>8c66184b-d0aa-480b-a5a5-795fef815f8d</name>
<mtime>1762919148718</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17613</id>
<type>DIRECTORY</type>
<name>_tmp_space.db</name>
<mtime>1762919148718</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17618</id>
<type>DIRECTORY</type>
<name>test</name>
<mtime>1762919180302</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17619</id>
<type>DIRECTORY</type>
<name>dwd_order_info</name>
<mtime>1762919446009</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17620</id>
<type>DIRECTORY</type>
<name>dim_base_province</name>
<mtime>1762919427815</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17621</id>
<type>FILE</type>
<name>base_province.txt</name>
<replication>3</replication>
<mtime>1762919427985</mtime>
<atime>1762919427815</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742244</id>
<genstamp>1420</genstamp>
<numBytes>1051</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17622</id>
<type>FILE</type>
<name>order_info.txt</name>
<replication>3</replication>
<mtime>1762919446046</mtime>
<atime>1762919446009</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742245</id>
<genstamp>1421</genstamp>
<numBytes>83586</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17627</id>
<type>DIRECTORY</type>
<name>ads_order_by_province</name>
<mtime>1762919568883</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17656</id>
<type>FILE</type>
<name>000000_0</name>
<replication>3</replication>
<mtime>1762919539409</mtime>
<atime>1762919539299</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742257</id>
<genstamp>1433</genstamp>
<numBytes>1796</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17703</id>
<type>FILE</type>
<name>ef3e12e837be489eb020dac7b7b97a96</name>
<replication>3</replication>
<mtime>1762922856616</mtime>
<atime>1785979260512</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742291</id>
<genstamp>1467</genstamp>
<numBytes>76400</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17724</id>
<type>DIRECTORY</type>
<name>suben</name>
<mtime>1763448372315</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17725</id>
<type>DIRECTORY</type>
<name>.flink</name>
<mtime>1763632778481</mtime>
<permission>suben:supergroup:0700</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17763</id>
<type>DIRECTORY</type>
<name>application_1763447142513_0001</name>
<mtime>1763448915591</mtime>
<permission>suben:suben:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17764</id>
<type>FILE</type>
<name>node1_36605</name>
<replication>3</replication>
<mtime>1763448915575</mtime>
<atime>1763448915424</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:suben:0640</permission>
<blocks>
<block>
<id>1073742331</id>
<genstamp>1507</genstamp>
<numBytes>183191</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17804</id>
<type>DIRECTORY</type>
<name>application_1763447142513_0002</name>
<mtime>1763449639401</mtime>
<permission>suben:suben:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17844</id>
<type>FILE</type>
<name>node3_41715</name>
<replication>3</replication>
<mtime>1763449638822</mtime>
<atime>1763449638421</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:suben:0640</permission>
<blocks>
<block>
<id>1073742390</id>
<genstamp>1566</genstamp>
<numBytes>83603</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17845</id>
<type>DIRECTORY</type>
<name>application_1763447142513_0003</name>
<mtime>1763449774751</mtime>
<permission>suben:suben:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17846</id>
<type>FILE</type>
<name>node2_44951</name>
<replication>3</replication>
<mtime>1763449639393</mtime>
<atime>1763449639212</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:suben:0640</permission>
<blocks>
<block>
<id>1073742391</id>
<genstamp>1567</genstamp>
<numBytes>92961</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17847</id>
<type>FILE</type>
<name>node2_44951</name>
<replication>3</replication>
<mtime>1763449773937</mtime>
<atime>1763449773847</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:suben:0640</permission>
<blocks>
<block>
<id>1073742392</id>
<genstamp>1568</genstamp>
<numBytes>81382</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17848</id>
<type>FILE</type>
<name>node3_41715</name>
<replication>3</replication>
<mtime>1763449774747</mtime>
<atime>1763449774696</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:suben:0640</permission>
<blocks>
<block>
<id>1073742393</id>
<genstamp>1569</genstamp>
<numBytes>92796</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17886</id>
<type>DIRECTORY</type>
<name>application_1763599264494_0001</name>
<mtime>1763632780355</mtime>
<permission>suben:suben:0770</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17887</id>
<type>FILE</type>
<name>node1_39919</name>
<replication>3</replication>
<mtime>1763632780343</mtime>
<atime>1763632780167</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:suben:0640</permission>
<blocks>
<block>
<id>1073742421</id>
<genstamp>1597</genstamp>
<numBytes>75262</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17890</id>
<type>FILE</type>
<name>pv2-00000000000000000019.log</name>
<replication>3</replication>
<mtime>1785916402354</mtime>
<atime>1785916401184</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742422</id>
<genstamp>1598</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17891</id>
<type>FILE</type>
<name>pv2-00000000000000000020.log</name>
<replication>3</replication>
<mtime>1785916433702</mtime>
<atime>1785916401241</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742423</id>
<genstamp>1599</genstamp>
<numBytes>28087</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17904</id>
<type>FILE</type>
<name>pv2-00000000000000000021.log</name>
<replication>3</replication>
<mtime>1785920033763</mtime>
<atime>1785916433673</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742433</id>
<genstamp>1609</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17912</id>
<type>FILE</type>
<name>pv2-00000000000000000022.log</name>
<replication>3</replication>
<mtime>1785923633821</mtime>
<atime>1785920033712</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742439</id>
<genstamp>1615</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17920</id>
<type>FILE</type>
<name>pv2-00000000000000000023.log</name>
<replication>3</replication>
<mtime>1785927233868</mtime>
<atime>1785923633777</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742449</id>
<genstamp>1625</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17922</id>
<type>FILE</type>
<name>0cf28cad61134977b565c568a59d75fd</name>
<replication>3</replication>
<mtime>1785926405055</mtime>
<atime>1785979260096</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742441</id>
<genstamp>1617</genstamp>
<numBytes>1868328</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17923</id>
<type>FILE</type>
<name>64f8ca9d141e486081d7be134fe97797</name>
<replication>3</replication>
<mtime>1785926404979</mtime>
<atime>1785979256789</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742440</id>
<genstamp>1616</genstamp>
<numBytes>13325</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17926</id>
<type>FILE</type>
<name>680b3461ce554fd487d077412612112b</name>
<replication>3</replication>
<mtime>1785926405379</mtime>
<atime>1785979260247</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742443</id>
<genstamp>1619</genstamp>
<numBytes>562431</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17927</id>
<type>FILE</type>
<name>ca01412eafcf4f51bfe3f913505ddf49</name>
<replication>3</replication>
<mtime>1785926405343</mtime>
<atime>1785979260414</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742442</id>
<genstamp>1618</genstamp>
<numBytes>10294</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17928</id>
<type>FILE</type>
<name>b48b79f131614ed1837fbba2abe03516</name>
<replication>3</replication>
<mtime>1785926405556</mtime>
<atime>1785979260742</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742444</id>
<genstamp>1620</genstamp>
<numBytes>5700</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17945</id>
<type>FILE</type>
<name>pv2-00000000000000000024.log</name>
<replication>3</replication>
<mtime>1785930833923</mtime>
<atime>1785927233829</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742454</id>
<genstamp>1630</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17950</id>
<type>FILE</type>
<name>pv2-00000000000000000025.log</name>
<replication>3</replication>
<mtime>1785934433983</mtime>
<atime>1785930833875</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742459</id>
<genstamp>1635</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17955</id>
<type>FILE</type>
<name>pv2-00000000000000000026.log</name>
<replication>3</replication>
<mtime>1785938034034</mtime>
<atime>1785934433932</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742464</id>
<genstamp>1640</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17970</id>
<type>FILE</type>
<name>pv2-00000000000000000027.log</name>
<replication>3</replication>
<mtime>1785941634087</mtime>
<atime>1785938033989</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742469</id>
<genstamp>1645</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17979</id>
<type>FILE</type>
<name>pv2-00000000000000000028.log</name>
<replication>3</replication>
<mtime>1785943922777</mtime>
<atime>1785979248147</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742473</id>
<genstamp>1649</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17983</id>
<type>FILE</type>
<name>db7e68d1730442928b1b2e392aa9d855</name>
<replication>3</replication>
<mtime>1785943916300</mtime>
<atime>1785979260498</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742470</id>
<genstamp>1646</genstamp>
<numBytes>4937</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17987</id>
<type>FILE</type>
<name>274898d900f74831a7a1d04c7f1ad7d0</name>
<replication>3</replication>
<mtime>1785943916481</mtime>
<atime>1785979260696</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742472</id>
<genstamp>1648</genstamp>
<numBytes>4967</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17990</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1785979247835</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17991</id>
<type>FILE</type>
<name>hbase-hbck.lock</name>
<replication>3</replication>
<mtime>1785979247835</mtime>
<atime>1785979247835</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<storagePolicyId>0</storagePolicyId>
<file-under-construction>
<clientName>DFSClient_NONMAPREDUCE_413191743_1</clientName>
<clientMachine>192.168.85.132</clientMachine>
</file-under-construction>
</inode>
<inode>
<id>17992</id>
<type>FILE</type>
<name>pv2-00000000000000000029.log</name>
<replication>3</replication>
<mtime>1785979250165</mtime>
<atime>1785979248239</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742475</id>
<genstamp>1651</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17993</id>
<type>FILE</type>
<name>pv2-00000000000000000030.log</name>
<replication>3</replication>
<mtime>1785979281295</mtime>
<atime>1785979248303</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742476</id>
<genstamp>1652</genstamp>
<numBytes>31579</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>17994</id>
<type>DIRECTORY</type>
<name>node3,16020,1785979244288</name>
<mtime>1786011655300</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17995</id>
<type>DIRECTORY</type>
<name>node1,16020,1785979244598</name>
<mtime>1786011654922</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>17996</id>
<type>DIRECTORY</type>
<name>node2,16020,1785979241573</name>
<mtime>1786011654906</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>18001</id>
<type>FILE</type>
<name>163.seqid</name>
<replication>3</replication>
<mtime>1785979257245</mtime>
<atime>1785979257236</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18002</id>
<type>FILE</type>
<name>117.seqid</name>
<replication>3</replication>
<mtime>1785979260791</mtime>
<atime>1785979260774</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18003</id>
<type>FILE</type>
<name>30.seqid</name>
<replication>3</replication>
<mtime>1785979260791</mtime>
<atime>1785979260778</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18004</id>
<type>FILE</type>
<name>22.seqid</name>
<replication>3</replication>
<mtime>1785979260806</mtime>
<atime>1785979260793</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18005</id>
<type>FILE</type>
<name>4102.seqid</name>
<replication>3</replication>
<mtime>1785979260843</mtime>
<atime>1785979260836</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18006</id>
<type>FILE</type>
<name>pv2-00000000000000000031.log</name>
<replication>3</replication>
<mtime>1785982881353</mtime>
<atime>1785979281264</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742486</id>
<genstamp>1662</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18007</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1785979817902</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>18008</id>
<type>DIRECTORY</type>
<name>info</name>
<mtime>1785979818134</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>18009</id>
<type>FILE</type>
<name>ad5be905a361484cbfd39a4bb0960f4f</name>
<replication>3</replication>
<mtime>1785979817990</mtime>
<atime>1785979817919</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742481</id>
<genstamp>1657</genstamp>
<numBytes>8591</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18014</id>
<type>FILE</type>
<name>pv2-00000000000000000032.log</name>
<replication>3</replication>
<mtime>1785986481410</mtime>
<atime>1785982881301</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742491</id>
<genstamp>1667</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18019</id>
<type>FILE</type>
<name>pv2-00000000000000000033.log</name>
<replication>3</replication>
<mtime>1785990081464</mtime>
<atime>1785986481362</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742497</id>
<genstamp>1673</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18020</id>
<type>DIRECTORY</type>
<name>.tmp</name>
<mtime>1785989251944</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>18021</id>
<type>DIRECTORY</type>
<name>m</name>
<mtime>1785989252037</mtime>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota>
<dsquota>-1</dsquota>
</inode>
<inode>
<id>18022</id>
<type>FILE</type>
<name>39836462fcbd4f949ea2cbf90cadc8a6</name>
<replication>3</replication>
<mtime>1785989252010</mtime>
<atime>1785989251948</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742492</id>
<genstamp>1668</genstamp>
<numBytes>9618</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18032</id>
<type>FILE</type>
<name>pv2-00000000000000000034.log</name>
<replication>3</replication>
<mtime>1785993681511</mtime>
<atime>1785990081417</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742502</id>
<genstamp>1678</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18037</id>
<type>FILE</type>
<name>pv2-00000000000000000035.log</name>
<replication>3</replication>
<mtime>1785997281570</mtime>
<atime>1785993681472</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742507</id>
<genstamp>1683</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18042</id>
<type>FILE</type>
<name>pv2-00000000000000000036.log</name>
<replication>3</replication>
<mtime>1786000881619</mtime>
<atime>1785997281519</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742512</id>
<genstamp>1688</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18047</id>
<type>FILE</type>
<name>pv2-00000000000000000037.log</name>
<replication>3</replication>
<mtime>1786004481705</mtime>
<atime>1786000881578</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742517</id>
<genstamp>1693</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18052</id>
<type>FILE</type>
<name>pv2-00000000000000000038.log</name>
<replication>3</replication>
<mtime>1786008081752</mtime>
<atime>1786004481625</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742522</id>
<genstamp>1698</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18057</id>
<type>FILE</type>
<name>pv2-00000000000000000039.log</name>
<replication>3</replication>
<mtime>1786011681800</mtime>
<atime>1786008081711</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742527</id>
<genstamp>1703</genstamp>
<numBytes>39</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
</inode>
<inode>
<id>18058</id>
<type>FILE</type>
<name>node2%2C16020%2C1785979241573.1786011654827</name>
<replication>3</replication>
<mtime>1786011654831</mtime>
<atime>1786011654831</atime>
<preferredBlockSize>268435456</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742523</id>
<genstamp>1699</genstamp>
<numBytes>83</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
<file-under-construction>
<clientName>DFSClient_NONMAPREDUCE_-756778082_1</clientName>
<clientMachine>192.168.85.133</clientMachine>
</file-under-construction>
</inode>
<inode>
<id>18059</id>
<type>FILE</type>
<name>node1%2C16020%2C1785979244598.1786011654850</name>
<replication>3</replication>
<mtime>1786011654855</mtime>
<atime>1786011654855</atime>
<preferredBlockSize>268435456</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742524</id>
<genstamp>1700</genstamp>
<numBytes>83</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
<file-under-construction>
<clientName>DFSClient_NONMAPREDUCE_1970516800_1</clientName>
<clientMachine>192.168.85.132</clientMachine>
</file-under-construction>
</inode>
<inode>
<id>18060</id>
<type>FILE</type>
<name>node3%2C16020%2C1785979244288.meta.1786011655159.meta</name>
<replication>3</replication>
<mtime>1786011655164</mtime>
<atime>1786011655164</atime>
<preferredBlockSize>268435456</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742525</id>
<genstamp>1701</genstamp>
<numBytes>83</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
<file-under-construction>
<clientName>DFSClient_NONMAPREDUCE_-169696739_1</clientName>
<clientMachine>192.168.85.134</clientMachine>
</file-under-construction>
</inode>
<inode>
<id>18061</id>
<type>FILE</type>
<name>node3%2C16020%2C1785979244288.1786011655235</name>
<replication>3</replication>
<mtime>1786011655237</mtime>
<atime>1786011655237</atime>
<preferredBlockSize>268435456</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<blocks>
<block>
<id>1073742526</id>
<genstamp>1702</genstamp>
<numBytes>83</numBytes>
</block>
</blocks>
<storagePolicyId>0</storagePolicyId>
<file-under-construction>
<clientName>DFSClient_NONMAPREDUCE_-169696739_1</clientName>
<clientMachine>192.168.85.134</clientMachine>
</file-under-construction>
</inode>
<inode>
<id>18062</id>
<type>FILE</type>
<name>pv2-00000000000000000040.log</name>
<replication>3</replication>
<mtime>1786011681756</mtime>
<atime>1786011681756</atime>
<preferredBlockSize>134217728</preferredBlockSize>
<permission>suben:supergroup:0644</permission>
<storagePolicyId>0</storagePolicyId>
<file-under-construction>
<clientName>DFSClient_NONMAPREDUCE_413191743_1</clientName>
<clientMachine>192.168.85.132</clientMachine>
</file-under-construction>
</inode>
</INodeSection>
<INodeReferenceSection>
</INodeReferenceSection>
<SnapshotSection>
<snapshotCounter>0</snapshotCounter>
<numSnapshots>0</numSnapshots>
</SnapshotSection>
<INodeDirectorySection>
<directory>
<parent>16385</parent>
<child>16478</child>
<child>17472</child>
<child>16386</child>
</directory>
<directory>
<parent>16386</parent>
<child>16572</child>
<child>17724</child>
</directory>
<directory>
<parent>16478</parent>
<child>16499</child>
<child>17990</child>
<child>16504</child>
<child>16501</child>
<child>16498</child>
<child>16503</child>
<child>16482</child>
<child>16539</child>
<child>16489</child>
<child>16481</child>
<child>16480</child>
<child>16500</child>
<child>16502</child>
<child>16505</child>
</directory>
<directory>
<parent>16482</parent>
<child>16530</child>
<child>16483</child>
</directory>
<directory>
<parent>16483</parent>
<child>16484</child>
<child>16519</child>
</directory>
<directory>
<parent>16484</parent>
<child>16496</child>
<child>16494</child>
<child>16485</child>
</directory>
<directory>
<parent>16485</parent>
<child>16486</child>
<child>18007</child>
<child>16487</child>
<child>16488</child>
</directory>
<directory>
<parent>16487</parent>
<child>17923</child>
<child>18009</child>
</directory>
<directory>
<parent>16488</parent>
<child>17164</child>
</directory>
<directory>
<parent>16489</parent>
<child>16490</child>
<child>16526</child>
</directory>
<directory>
<parent>16490</parent>
<child>16491</child>
</directory>
<directory>
<parent>16491</parent>
<child>16492</child>
</directory>
<directory>
<parent>16492</parent>
<child>18001</child>
</directory>
<directory>
<parent>16496</parent>
<child>16495</child>
</directory>
<directory>
<parent>16501</parent>
<child>17995</child>
<child>17996</child>
<child>17994</child>
</directory>
<directory>
<parent>16502</parent>
<child>17890</child>
<child>17891</child>
<child>17904</child>
<child>17912</child>
<child>17920</child>
<child>17945</child>
<child>17950</child>
<child>17955</child>
<child>17970</child>
<child>17979</child>
<child>17992</child>
<child>17993</child>
<child>18006</child>
<child>18014</child>
<child>18019</child>
<child>18032</child>
<child>18037</child>
<child>18042</child>
<child>18047</child>
<child>18052</child>
<child>18057</child>
</directory>
<directory>
<parent>16504</parent>
<child>18062</child>
</directory>
<directory>
<parent>16519</parent>
<child>16522</child>
<child>16520</child>
<child>16523</child>
</directory>
<directory>
<parent>16522</parent>
<child>16521</child>
</directory>
<directory>
<parent>16523</parent>
<child>16524</child>
<child>16525</child>
</directory>
<directory>
<parent>16525</parent>
<child>16546</child>
</directory>
<directory>
<parent>16526</parent>
<child>16527</child>
</directory>
<directory>
<parent>16527</parent>
<child>16528</child>
</directory>
<directory>
<parent>16528</parent>
<child>18004</child>
</directory>
<directory>
<parent>16530</parent>
<child>17140</child>
<child>17084</child>
<child>16532</child>
</directory>
<directory>
<parent>16532</parent>
<child>16535</child>
<child>16533</child>
<child>16536</child>
</directory>
<directory>
<parent>16535</parent>
<child>16534</child>
</directory>
<directory>
<parent>16536</parent>
<child>16537</child>
<child>16538</child>
</directory>
<directory>
<parent>16538</parent>
<child>16554</child>
</directory>
<directory>
<parent>16539</parent>
<child>17147</child>
<child>17091</child>
<child>16540</child>
</directory>
<directory>
<parent>16540</parent>
<child>16541</child>
</directory>
<directory>
<parent>16541</parent>
<child>16542</child>
</directory>
<directory>
<parent>16542</parent>
<child>18003</child>
</directory>
<directory>
<parent>16572</parent>
<child>16573</child>
</directory>
<directory>
<parent>16573</parent>
<child>17627</child>
<child>17620</child>
<child>17619</child>
<child>17618</child>
</directory>
<directory>
<parent>17084</parent>
<child>17087</child>
<child>17085</child>
<child>17088</child>
</directory>
<directory>
<parent>17087</parent>
<child>17127</child>
</directory>
<directory>
<parent>17088</parent>
<child>17089</child>
<child>18020</child>
<child>17104</child>
<child>17108</child>
<child>17112</child>
<child>17116</child>
<child>17100</child>
<child>17120</child>
<child>17124</child>
<child>17090</child>
<child>17128</child>
</directory>
<directory>
<parent>17090</parent>
<child>17987</child>
<child>17928</child>
</directory>
<directory>
<parent>17091</parent>
<child>17092</child>
</directory>
<directory>
<parent>17092</parent>
<child>17093</child>
</directory>
<directory>
<parent>17093</parent>
<child>18005</child>
</directory>
<directory>
<parent>17100</parent>
<child>17927</child>
</directory>
<directory>
<parent>17104</parent>
<child>17922</child>
</directory>
<directory>
<parent>17108</parent>
<child>17338</child>
</directory>
<directory>
<parent>17112</parent>
<child>17926</child>
</directory>
<directory>
<parent>17116</parent>
<child>17342</child>
</directory>
<directory>
<parent>17120</parent>
<child>17983</child>
</directory>
<directory>
<parent>17124</parent>
<child>18022</child>
</directory>
<directory>
<parent>17140</parent>
<child>17143</child>
<child>17141</child>
<child>17144</child>
</directory>
<directory>
<parent>17143</parent>
<child>17142</child>
</directory>
<directory>
<parent>17144</parent>
<child>17145</child>
<child>17146</child>
</directory>
<directory>
<parent>17146</parent>
<child>17703</child>
</directory>
<directory>
<parent>17147</parent>
<child>17148</child>
</directory>
<directory>
<parent>17148</parent>
<child>17149</child>
</directory>
<directory>
<parent>17149</parent>
<child>18002</child>
</directory>
<directory>
<parent>17472</parent>
<child>17515</child>
<child>17473</child>
<child>17527</child>
</directory>
<directory>
<parent>17473</parent>
<child>17485</child>
<child>17474</child>
</directory>
<directory>
<parent>17474</parent>
<child>17610</child>
<child>17612</child>
<child>17608</child>
<child>17605</child>
</directory>
<directory>
<parent>17485</parent>
<child>17607</child>
</directory>
<directory>
<parent>17515</parent>
<child>17516</child>
</directory>
<directory>
<parent>17516</parent>
<child>17531</child>
<child>17517</child>
</directory>
<directory>
<parent>17517</parent>
<child>17518</child>
</directory>
<directory>
<parent>17527</parent>
<child>17528</child>
</directory>
<directory>
<parent>17528</parent>
<child>17529</child>
</directory>
<directory>
<parent>17529</parent>
<child>17763</child>
<child>17804</child>
<child>17845</child>
<child>17886</child>
</directory>
<directory>
<parent>17531</parent>
<child>17578</child>
<child>17532</child>
</directory>
<directory>
<parent>17532</parent>
<child>17533</child>
</directory>
<directory>
<parent>17578</parent>
<child>17579</child>
</directory>
<directory>
<parent>17579</parent>
<child>17580</child>
</directory>
<directory>
<parent>17580</parent>
<child>17581</child>
</directory>
<directory>
<parent>17605</parent>
<child>17606</child>
</directory>
<directory>
<parent>17608</parent>
<child>17609</child>
</directory>
<directory>
<parent>17610</parent>
<child>17611</child>
</directory>
<directory>
<parent>17612</parent>
<child>17613</child>
</directory>
<directory>
<parent>17619</parent>
<child>17622</child>
</directory>
<directory>
<parent>17620</parent>
<child>17621</child>
</directory>
<directory>
<parent>17627</parent>
<child>17656</child>
</directory>
<directory>
<parent>17724</parent>
<child>17725</child>
</directory>
<directory>
<parent>17763</parent>
<child>17764</child>
</directory>
<directory>
<parent>17804</parent>
<child>17846</child>
<child>17844</child>
</directory>
<directory>
<parent>17845</parent>
<child>17847</child>
<child>17848</child>
</directory>
<directory>
<parent>17886</parent>
<child>17887</child>
</directory>
<directory>
<parent>17990</parent>
<child>17991</child>
</directory>
<directory>
<parent>17994</parent>
<child>18061</child>
<child>18060</child>
</directory>
<directory>
<parent>17995</parent>
<child>18059</child>
</directory>
<directory>
<parent>17996</parent>
<child>18058</child>
</directory>
<directory>
<parent>18007</parent>
<child>18008</child>
</directory>
<directory>
<parent>18020</parent>
<child>18021</child>
</directory>
</INodeDirectorySection>
<FileUnderConstructionSection>
<inode>
<id>17991</id>
<path>/hbase/.tmp/hbase-hbck.lock</path>
</inode>
<inode>
<id>18058</id>
<path>/hbase/WALs/node2,16020,1785979241573/node2%2C16020%2C1785979241573.1786011654827</path>
</inode>
<inode>
<id>18059</id>
<path>/hbase/WALs/node1,16020,1785979244598/node1%2C16020%2C1785979244598.1786011654850</path>
</inode>
<inode>
<id>18060</id>
<path>/hbase/WALs/node3,16020,1785979244288/node3%2C16020%2C1785979244288.meta.1786011655159.meta</path>
</inode>
<inode>
<id>18061</id>
<path>/hbase/WALs/node3,16020,1785979244288/node3%2C16020%2C1785979244288.1786011655235</path>
</inode>
<inode>
<id>18062</id>
<path>/hbase/MasterProcWALs/pv2-00000000000000000040.log</path>
</inode>
</FileUnderConstructionSection>
<SecretManagerSection>
<currentId>0</currentId>
<tokenSequenceNumber>0</tokenSequenceNumber>
<numDelegationKeys>0</numDelegationKeys>
<numTokens>0</numTokens>
</SecretManagerSection>
<CacheManagerSection>
<nextDirectiveId>1</nextDirectiveId>
<numDirectives>0</numDirectives>
<numPools>0</numPools>
</CacheManagerSection>
</fsimage>
这份 fsimage_0000000000000006826.xml 是 TXID=6826 时的全量快照,包含 180 个 inode、179 个目录/文件。我们按八大分区逐一拆解。
3.1 分区一览图
3.2 NameSection:全局序列号的“大脑中枢”
<NameSection>
<namespaceId>119917347</namespaceId>
<genstampV2>1703</genstampV2>
<lastAllocatedBlockId>1073742527</lastAllocatedBlockId>
<txid>6826</txid>
</NameSection>
| 字段 | 值 | 含义 |
|---|---|---|
namespaceId | 119917347 | 集群唯一 ID,格式化时生成 |
genstampV2 | 1703 | 下一个块版本戳(后续 edits 中用了 1704) |
lastAllocatedBlockId | 1073742527 | 已分配的最大 Block ID(edits 中下一个是 1073742528) |
txid | 6826 | 本快照对应的最后一条事务号 |
关键推论:edits 日志从 TXID=6827 开始,正好是快照之后的增量操作。NameNode 重启时只需重放 6827~6834 这 8 条事务即可恢复到最新状态。
3.3 INodeSection:文件目录的“户口本”
这是 FsImage 中最核心的部分,记录了每个文件/目录的完整元数据。
目录类型 (type=DIRECTORY):
<inode>
<id>16386</id>
<type>DIRECTORY</type>
<name>user</name>
<permission>suben:supergroup:0755</permission>
<nsquota>-1</nsquota> <!-- 无文件数配额 -->
<dsquota>-1</dsquota> <!-- 无存储空间配额 -->
</inode>
文件类型 (type=FILE):
<inode>
<id>16480</id>
<type>FILE</type>
<name>hbase.version</name>
<replication>3</replication>
<blocks>
<block>
<id>1073741867</id>
<genstamp>1043</genstamp>
<numBytes>7</numBytes>
</block>
</blocks>
</inode>
深度发现:从 inode 列表可以看出这是一个 Atlas + Hive + HBase 实训集群:
| 目录 | 内容 |
|---|---|
/hive/warehouse | 三张测试表:dwd_order_info、dim_base_province、ads_order_by_province |
/hbase | JanusGraph 元数据表 + namespace/region + WAL 预写日志 |
/tmp | YARN 任务临时目录 + Spark 临时文件 |
/atlas | Apache Atlas 元数据存储 |
3.4 INodeDirectorySection:目录树的“骨架”
这个分区决定了 FsImage 能重建出完整的目录树结构:
<directory>
<parent>16385</parent> <!-- 根目录 -->
<child>16478</child> <!-- /hbase -->
<child>16386</child> <!-- /user -->
</directory>
NameNode 加载 INodeSection + INodeDirectorySection 两大数据后,就能拼接出从 / 到 /hbase/WALs/node1/xxx.log 的完整层级。
3.5 FileUnderConstructionSection:正在写入的“进行时”文件
这个分区记录了尚未 OP_CLOSE 的文件,即正在写入中的临时文件:
<inode>
<id>18062</id>
<path>/hbase/MasterProcWALs/pv2-00000000000000000040.log</path>
</inode>
- 这些文件在 FsImage 中打上了
file-under-construction标签 - NameNode 重启后,这些文件会被清理或回滚(取决于 Lease 是否超时)
- 这正是 HBase WAL 日志正在写入的证据
四、FsImage + Edits 协同恢复的完整链路
结合本次文档的数据,我们可以还原一次完整的 NameNode 故障恢复流程:
关键数据对应关系:
| 阶段 | 数据来源 | TXID 范围 | 恢复内容 |
|---|---|---|---|
| 基础加载 | FsImage | ≤ 6826 | 180 个 inode 完整目录树 |
| 增量重放 | Edits | 6827~6834 | /testdata 目录 + 镜像文件 |
| 块位置恢复 | DataNode 汇报 | — | Block 1073742528 的三个副本位置 |
五、常用运维命令速查
# 1. 导出 FsImage 为可读 XML
hdfs oiv -i /path/to/fsimage_0000000000000006826 -o fsimage.xml
# 2. 导出 Edits 日志为可读 XML
hdfs oev -i /path/to/edits_inprogress_00000000000006827 -o edits_inprogress.xml
# 3. 查看当前最新事务号
cat /path/to/dfs/name/current/seen_txid
# 4. 手动触发 Checkpoint(生成新 FsImage)
hdfs dfsadmin -saveNamespace
六、设计决策与血泪避坑
| 设计决策 | 选择 | 理由 |
|---|---|---|
| FsImage 存储格式 | 二进制 + XML 导出 | 二进制高效加载,XML 便于运维排查 |
| Edits 事务 ID | 全局递增(TXID) | 保证重放顺序唯一,支持分布式一致性 |
| 文件写入临时后缀 | ._COPYING_ | 写入失败时不污染正式元数据 |
| 块 ID 与文件绑定分离 | ALLOCATE_BLOCK_ID + ADD_BLOCK 两阶段 | 解耦块分配与绑定,提高分布式健壮性 |
genstamp 双版本 | V1 已弃用,V2 启用 | V2 支持更大的版本空间,兼容老集群 |
避坑指南:
- FsImage 没有
._COPYING_文件:如果 Edits 中有OP_ADD但无对应的OP_CLOSE+OP_RENAME,重启后该文件会丢失——这是设计如此。 genstamp不匹配导致 Block 被拒绝:DataNode 汇报 Block 时如果genstamp与 NameNode 内存不一致,该 Block 会被标记为“陈旧副本”并触发复制修复。- FsImage + Edits 时序错乱:如果
seen_txid大于 Edits 中实际最大 TXID,NameNode 会进入“元数据不一致”状态——通常需要从 SecondaryNameNode 或备份节点恢复。
📚 延伸阅读:HDFS 元数据架构官方文档
如果你觉得这篇文章帮你彻底搞懂了 HDFS 的元数据内核,欢迎点赞 👍、收藏 ⭐ 和评论 💬。

168

被折叠的 条评论
为什么被折叠?



