第 1 期 马 志 强, 等 : SQL 鄄 DFS: 一 种 基 于 HDFS 的 海 量 小 文 件 存 储 系 统 135 式 文 件 系 统 ( Hadoop distributed file system,hdfs) 作 为 Hadoop 的 关 键 技 术 之 一, 其 原 型 来 自

Similar documents
说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和


何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

国债回购交易业务指引


HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

中 国 软 科 学 年 第 期!!!

年 第 期 % %! & % % % % % % &

ETF、分级基金规模、份额变化统计

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

修改版-操作手册.doc

Template BR_Rec_2005.dot

深圳市新亚电子制程股份有限公司

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

珠江钢琴股东大会

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

I

抗 日 战 争 研 究 年 第 期

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 ( 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源

《C语言基础入门》课程教学大纲

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

课程类 别

Microsoft Word - 文件汇编.doc

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

2014年中央财经大学研究生招生录取工作简报

2006年顺德区高中阶段学校招生录取分数线


新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

上海证券交易所会议纪要

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

 编号:

!!

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决


目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

玉师院党〔2005〕 号


第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

上海证券交易所会议纪要

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

附件1:

关于修订《沪市股票上网发行资金申购

untitled


·岗位设置管理流程

物 流 从 业 人 员 职 业 能 力 等 级 证 书 分 为 四 个 级 别, 分 别 为 初 级 助 理 级 中 级 和 高 级 ; 采 购 从 业 人 员 职 业 能 力 等 级 证 书 分 为 三 个 级 别, 分 别 为 中 级 高 级 和 注 册 级 请 各 有 关 单 位 按 照 通

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

第 卷 第 辑 高 明 华 蔡 卫 星 曾 诚 股 权 结 构 与 信 息 披 露 质 量 来 自 证 券 分 析 师 盈 余 预 测 特 征 的 证 据!!

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效

Microsoft Word - 资料分析练习题09.doc

上证指数

Microsoft Word - 第7章 图表反转形态.doc

# 抗 日 战 争 研 究 年 第 期, 胊 县 多, # # # # # # # # # # # # # # # # # # # # #

人 工 抗 原 的 鉴 定

<4D F736F F D20CAAEC8FDCEE5B9E6BBAED7EED6D5B8E5352E33312E646F63>

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

第二讲 数列


二 工 资 制 度 与 教 师 道 德 风 险 行 为

内 容 二 : 建 立 并 完 善 了 三 点 的 网 络 教 学 管 理 体 系 内 容 三 : 注 重 培 养 学 生 的 听 说 能 力 14

教师上报成绩流程图

!!!!!!!!!!

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

<4D F736F F D20B2CEBFBC3232C6DAD1A7CFB0D3EBCBBCBFBCC4DAD2B3>

激 励 计 划 设 定 的 第 三 个 解 锁 期 解 锁 条 件 是 否 达 到 解 锁 条 件 的 说 明 1 公 司 未 发 生 如 下 任 一 情 形 : 1 公 司 最 近 一 个 会 计 年 度 财 务 会 计 报 告 被 注 册 会 计 师 出 具 否 定 意 见 或 者 无 法 表

三门峡市质量技术监督局清单公示

抗 日 战 争 研 究 % 年 第 期! # # % %

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

王 声 文 等 :GNC62 数 控 系 统 组 态 和 设 备 调 试 设 计 2 GNC62 系 统 组 态 设 计 原 理 2 2 [1] 2 A I/O 1 293

!!!!!

doc

<4D F736F F D20D0A3B7A2A1B A1B BAC5B9D8D3DAD7E9D6AFBFAAD5B9C8ABD0A3BDCCD6B0B9A4B8DACEBBC6B8D3C3B1E4B6AFB9A4D7F7B5C4CDA8D6AA2E646F63>

校 级 2 3 年 1 分 /10 万 双 语 示 范 课 程 国 家 级 6 3 年 1 分 /10 万 精 品 教 材 国 家 主 编 2, 副 获 奖 当 年 ( 教 育 部 ) 主 编 1 省 部 级 5 在 研 究 期 间 1 分 /10 万 元 其 它 教 研 课 题 校 级 2 在 研

系统设计文档_样稿管理模块 V1.1_.doc

2016年南开大学MBA招生信息

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc




Transcription:

第 42 卷 第 1 期 2016 年 1 月 北 京 工 业 大 学 学 报 JOURNAL OF BEIJING UNIVERSITY OF TECHNOLOGY Vol. 42 No. 1 Jan. 2016 SQL 鄄 DFS: 一 种 基 于 HDFS 的 海 量 小 文 件 存 储 系 统 马 志 强, 杨 双 涛, 闫 瑞, 张 泽 广 ( 内 蒙 古 工 业 大 学 信 息 工 程 学 院, 呼 和 浩 特 010080) 摘 要 : 针 对 Hadoop 分 布 式 文 件 系 统 (Hadoop distributed file system,hdfs) 进 行 小 文 件 存 储 时 NameNode 内 存 占 用 率 高 的 问 题, 通 过 分 析 HDFS 基 础 架 构, 提 出 了 基 于 元 数 据 存 储 集 群 的 SQL 鄄 DFS 文 件 系 统. 通 过 在 NameNode 中 加 入 小 文 件 处 理 模 块 实 现 了 小 文 件 元 数 据 由 NameNode 内 存 到 元 数 据 存 储 集 群 的 迁 移, 借 助 关 系 数 据 库 集 群 实 现 了 小 文 件 元 数 据 的 快 速 读 写, 并 对 小 文 件 读 取 过 程 进 行 优 化, 减 少 了 文 件 客 户 端 对 NameNode 的 请 求 次 数 ; 通 过 将 部 分 DataNode 文 件 块 的 校 验 工 作 交 由 元 数 据 存 储 集 群 完 成, 进 一 步 降 低 了 NameNode 节 点 的 负 载 压 力. 最 终 通 过 搭 建 HDFS 和 SQL 鄄 DFS 实 验 平 台, 对 HDFS 和 SQL 鄄 DFS 2 种 架 构 进 行 了 小 文 件 读 写 的 对 比 测 试, 实 验 结 果 表 明 :SQL 鄄 DFS 在 文 件 平 均 耗 时 (file average cost,fac) 和 内 存 占 用 率 方 面 均 明 显 优 于 原 HDFS 架 构, 具 有 更 好 的 小 文 件 存 储 能 力, 可 用 于 海 量 小 文 件 的 存 储. 关 键 词 : Hadoop 分 布 式 文 件 系 统 (HDFS); 元 数 据 存 储 集 群 ; 小 文 件 ; 元 数 据 ; 内 存 占 用 率 中 图 分 类 号 : TP 391 文 献 标 志 码 : A 文 章 编 号 : 0254-0037(2016)01-0134 - 08 doi: 10. 11936 / bjutxb2015060040 SQL 鄄 DFS: A Massive Small File Storage System Based on HDFS MA Zhiqiang, YANG Shuangtao, YAN Rui, ZHANG Zeguang ( School of Information Engineering, Inner Mongolia University of Technology, Hohhot 010080, China) Abstract: In order to solve the problem of high occupancy rate of NameNode memory while using Hadoop distributed file system ( HDFS) to store massive small files, this paper analyzed the HDFS storage structure and presented a SQL 鄄 DFS file system based on metadata storage cluster. In SQL 鄄 DFS, in order to move small file metadata from NameNode memory to metadata storage cluster a small file processing module was added in NameNode. In order to improve the reading and writing speed of the metadata, relational database cluster was used, and in order to reduce the time of request for NameNode the reading process of the small file was optimized. To further reduce the load pressure of NameNode, the checking of file block from DataNode was completed by metadata storage cluster. Finally the contrast experiments were carried out between HDFS and SQL 鄄 DFS experimental platform. The experimental results show that SQL 鄄 DFS in the file average cost (FAC) and memory occupancy rate are significantly better than that of the original HDFS architecture and has better small file storage capacity. It can be used for the storage of massive small files. Key words: Hadoop distributed file system ( HDFS); metadata storage clusters; small files; metadata; memory occupancy Hadoop [1] 在 云 计 算 领 域 内 的 广 泛 使 用, 使 得 其 已 经 成 为 海 量 数 据 并 行 处 理 的 标 准. Hadoop 分 布 收 稿 日 期 : 2015 鄄 06 鄄 12 基 金 项 目 : 国 家 自 然 科 学 基 金 资 助 项 目 (61363052); 内 蒙 古 自 治 区 自 然 科 学 基 金 资 助 项 目 (2014MS0608); 内 蒙 古 自 治 区 高 等 学 校 科 学 研 究 项 目 (NJZY12052) 作 者 简 介 : 马 志 强 (1972 ), 男, 副 教 授, 主 要 从 事 机 器 学 习 数 据 挖 掘 搜 索 引 擎 方 面 的 研 究, E 鄄 mail: mzq_bim@ 163. com

第 1 期 马 志 强, 等 : SQL 鄄 DFS: 一 种 基 于 HDFS 的 海 量 小 文 件 存 储 系 统 135 式 文 件 系 统 ( Hadoop distributed file system,hdfs) 作 为 Hadoop 的 关 键 技 术 之 一, 其 原 型 来 自 于 谷 歌 公 司 (Google) 的 GFS 文 件 系 统, 可 用 于 构 建 大 规 模 可 扩 展 高 容 错 的 分 布 式 存 储 平 台. HDFS 开 源 的 特 性 允 许 用 户 根 据 自 身 的 业 务 需 求 对 HDFS 进 行 开 发 和 扩 展, 使 得 其 在 雅 虎 ( Yahoo) 百 度 阿 里 巴 巴 FaceBook 及 Twitter 等 公 司 内 得 到 广 泛 应 用. HDFS 在 设 计 之 初 目 的 就 是 为 了 解 决 大 文 件 的 存 储 与 处 理, 取 得 的 结 果 也 令 人 满 意. 然 而 在 实 际 的 应 用 系 统 中 存 在 着 大 量 的 小 文 件, 直 接 采 用 HDFS 进 行 存 储 存 在 以 下 问 题 : 加 载 小 文 件 的 元 数 据 信 息 需 要 占 用 NameNode 节 点 的 大 量 内 存 ; 用 户 在 读 取 大 量 小 文 件 时 需 要 频 繁 地 访 问 NameNode, 严 重 影 响 NameNode 节 点 的 IO 性 能. 为 解 决 上 述 问 题, 本 文 提 出 了 一 种 基 于 关 系 数 据 库 集 群 的 海 量 小 文 件 存 储 方 案, 通 过 将 集 群 内 小 文 件 的 元 数 据 文 件 转 化 成 数 据 库 记 录 存 储 到 数 据 库 集 群 中, 可 以 很 大 程 度 减 少 NameNode 节 点 上 元 数 据 文 件 大 小, 降 低 节 点 的 内 存 使 用 率, 并 且 通 过 采 用 数 据 库 主 从 复 制 读 写 分 离 技 术, 实 现 元 数 据 存 储 集 群 请 求 的 负 载 均 衡, 缩 短 小 文 件 元 数 据 记 录 的 查 询 时 间, 进 一 步 提 高 小 文 件 的 读 写 效 率. 1 相 关 工 作 1 郾 1 HDFS 文 件 系 统 HDFS 分 布 式 文 件 系 统 采 用 Master / Slave 架 构, 集 群 内 通 常 由 一 个 名 称 节 点 ( NameNode) 和 多 个 数 据 节 点 ( DataNode ) 组 成, 主 要 包 括 3 个 部 分 : NameNode DataNode 和 客 户 端, 具 体 如 图 1 所 示. 其 中 NameNode 是 整 个 分 布 式 文 件 系 统 的 管 理 者, 主 要 负 责 管 理 文 件 系 统 的 命 名 空 间 集 群 配 置 信 息 文 件 元 数 据 信 息 和 文 件 块 的 复 制 工 作. DataNode 负 责 存 储 文 件 块 以 及 文 件 块 的 元 数 据 信 息, 并 定 期 向 NameNode 发 送 心 跳 和 块 报 告. 客 户 端 则 封 装 了 文 [2 鄄 件 的 基 本 操 作, 是 用 户 访 问 集 群 文 件 的 接 口 3]. HDFS 这 种 主 从 式 的 设 计 很 大 程 度 上 简 化 了 分 布 式 文 件 系 统 的 结 构, 用 户 在 读 写 文 件 时 无 需 经 过 NameNode, 直 接 与 DataNode 通 信 即 可, 并 且 集 群 内 采 用 流 式 文 件 读 写, 在 大 文 件 的 存 储 及 处 理 上 表 现 出 优 越 的 性 能. 然 而 也 是 这 种 架 构 设 计 导 致 了 HDFS 对 海 量 小 文 件 存 储 支 持 不 足. 首 先 HDFS 集 群 在 运 行 期 间, 所 有 文 件 的 元 数 据 都 保 存 在 NameNode 的 内 存 中, 即 使 元 数 据 的 存 储 结 构 十 分 紧 凑, 但 海 量 小 文 件 的 元 数 据 信 息 仍 占 用 大 量 的 Fig. 1 图 1 HDFS 架 构 Architecture of HDFS NameNode 内 存, 导 致 了 NameNode 节 点 内 存 占 用 率 高 的 问 题. 其 次 客 户 端 在 读 取 大 量 小 文 件 时 需 要 频 繁 地 访 问 NameNode 节 点, 以 获 取 文 件 的 元 数 据 信 息, 严 重 影 响 NameNode 节 点 的 IO 性 能. 而 且 DateNode 节 点 文 件 块 报 告 的 检 测 同 样 需 要 占 用 NameNode 节 点 资 源. 因 此,HDFS 集 群 内 海 量 小 文 件 的 存 在 给 HDFS 的 可 扩 展 性 和 性 能 带 来 一 定 负 面 影 响. 1 郾 2 小 文 件 解 决 方 案 目 前 针 对 HDFS 小 文 件 存 储 效 率 低 的 问 题, 研 究 的 总 体 思 路 是 将 小 文 件 合 并 为 大 文 件, 减 少 文 件 的 个 数, 从 而 降 低 NameNode 节 点 的 内 存 占 用 率, 同 时 利 用 索 引 和 缓 存 技 术 提 高 文 件 的 读 取 速 率. 主 要 研 究 方 法 分 为 基 于 HAR SequenceFile 与 MapFile 技 术 的 小 文 件 合 并 和 基 于 数 据 库 技 术 的 小 文 件 合 并 2 类. 1) 基 于 HAR SequenceFile 和 MapFile 的 小 文 件 合 并 方 法 [4] Mackey 等 最 早 采 用 Hadoop Archive 技 术 实 现 将 小 文 件 合 并 为 大 文 件, 有 效 地 降 低 了 HDFS 中 小 文 件 的 数 量, 然 而 Hadoop Archive 不 支 持 文 件 删 除 修 改 和 追 加, 当 发 生 文 件 更 改 时 需 要 重 新 创 建 归 档 文 件, 然 而 创 建 归 档 文 件 的 过 程 需 要 占 用 大 量 的 机 器 资 源, 频 繁 地 创 建 归 档 文 件 将 严 重 影 响 集 群 系 [5] 统 的 性 能. 赵 晓 永 等 将 SequenceFile 技 术 应 用 到 了 海 量 MP3 音 频 文 件 的 存 储, 很 好 地 解 决 了 小 文 件 过 多 时 NameNode 的 内 存 瓶 颈 问 题, 提 高 了 MP3 文 [6] 件 的 访 问 效 率 ; 刘 高 军 等 利 用 Redis 缓 存 和 SequenceFile 技 术 实 现 了 HDFS 中 小 文 件 的 快 速 合 并 存 储, 并 通 过 缓 存 保 证 了 小 文 件 的 读 写 效 率 ; 余 思 [7] 等 采 用 SequenceFile 技 术 将 小 文 件 以 队 列 的 形 式 合 并 为 大 文 件, 从 而 实 现 了 节 省 NameNode 节 点 所 占 内 存 空 间 的 目 的, 同 时 也 实 现 了 对 合 并 之 后 的 小

136 北 京 工 业 大 学 学 报 2016 年 [8] 文 件 的 透 明 操 作. 洪 旭 升 等 通 过 将 序 列 化 后 的 小 文 件 存 储 至 MapFile 容 器, 对 小 文 件 进 行 合 并, 并 通 过 建 立 索 引, 有 效 降 低 了 文 件 总 数 量 和 提 高 了 文 件 的 访 问 效 率. 上 述 方 案 主 要 思 路 是 通 过 将 小 文 件 合 并 成 大 文 件 同 时 对 小 文 件 索 引, 然 后 再 将 合 并 的 大 文 件 存 储 到 HDFS 中, 通 过 这 种 合 并 的 方 式 能 够 很 大 程 度 地 减 少 NameNode 节 点 上 元 数 据 文 件 的 大 小, 有 效 降 低 NameNode 的 内 存 使 用 率, 但 难 以 满 足 低 延 迟 要 求, 即 使 借 助 索 引 缓 存 技 术 文 件 随 机 读 写 性 能 仍 无 法 让 人 满 意. 2) 基 于 数 据 库 的 小 文 件 合 并 [9] 张 海 等 提 出 了 一 种 基 于 关 系 数 据 库 的 小 文 件 合 并 策 略, 通 过 append 操 作 将 小 文 件 内 容 按 用 户 追 加 到 用 户 文 件 中, 利 用 关 系 数 据 库 记 录 小 文 件 在 用 户 文 件 中 的 位 置, 再 通 过 seek 操 作 实 现 小 文 件 的 读 取. 但 目 前 HDFS 对 append 和 seek 操 作 支 持 不 [10] 足. 刘 小 俊 等 将 小 文 件 首 先 集 中 存 储 到 关 系 库, 当 数 据 库 文 件 达 到 一 定 大 小 再 将 数 据 库 文 件 转 存 至 HDFS, 而 当 用 户 读 取 文 件 时, 根 据 用 户 的 请 求 信 息 RDBMS 将 动 态 地 加 载 数 据 库 文 件, 然 后 根 据 文 件 的 位 置 信 息 再 读 取 文 件. 上 述 2 种 解 决 方 案 都 是 借 用 传 统 的 关 系 数 据 库 去 解 决 小 文 件 的 存 储 问 题, 其 本 [11] 质 上 还 是 文 件 合 并 的 过 程. 朱 晓 丽 等 利 用 新 兴 的 列 式 数 据 库 HBase 进 行 海 量 图 片 的 存 储, 实 现 了 系 统 层 对 图 片 的 合 并 全 局 命 名, 并 通 过 对 HFile 的 Key 鄄 Value 字 节 数 组 结 构 的 完 善, 实 现 了 图 片 读 取 时 的 自 动 纠 错, 提 高 了 系 统 可 靠 性, 然 而 基 于 HBase 存 储 支 持 的 文 件 大 小 范 围 极 其 有 限. 基 于 上 述 研 究 基 础, 本 文 跳 出 小 文 件 合 并 的 思 [12 鄄 13] 路, 提 出 一 种 基 于 关 系 数 据 库 集 群 的 海 量 小 文 件 存 储 方 案. 通 过 在 HDFS 中 加 入 小 文 件 处 理 模 块, 对 集 群 内 的 大 小 文 件 区 分 处 理, 小 文 件 写 入 时 产 生 的 元 数 据 信 息 转 化 成 记 录 存 储 到 元 数 据 存 储 集 群, 避 免 了 NameNode 节 点 需 要 加 载 维 持 大 量 的 小 文 件 元 数 据 文 件, 同 时 利 用 主 从 复 制 读 写 分 离 技 术 构 建 高 效 的 元 数 据 存 储 集 群 进 一 步 提 高 了 元 数 据 记 录 的 查 询 速 率, 使 得 小 文 件 的 读 写 速 率 得 到 了 提 升. 2 SQL 鄄 DFS 文 件 系 统 SQL 鄄 DFS 文 件 系 统 模 型 的 核 心 思 想 : 通 过 将 小 文 件 的 元 数 据 信 息 由 NameNode 内 存 迁 移 到 元 数 据 存 储 集 群, 从 而 降 低 NameNode 节 点 的 内 存 消 耗 ; 通 过 优 化 小 文 件 读 取 过 程, 减 少 文 件 客 户 端 对 NameNode 节 点 的 访 问 次 数 ; 通 过 将 DataNode 块 报 告 校 验 工 作 转 移 到 元 数 据 存 储 集 群, 降 低 NameNode 节 点 的 负 载 压 力 ; 通 过 建 立 元 数 据 存 储 集 群 实 现 对 小 文 件 元 数 据 记 录 的 快 速 查 询, 提 高 小 文 件 的 读 写 效 率. 2 郾 1 SQL 鄄 DFS 系 统 模 型 SQL 鄄 DFS 的 整 体 架 构 设 计 如 图 2 所 示, 与 HDFS 架 构 相 比 在 NameNode 节 点 上 新 增 加 了 小 文 件 处 理 模 块, 整 个 集 群 附 加 了 一 个 关 系 数 据 库 集 群. SQL 鄄 DFS 包 括 如 下 4 个 部 分 : 客 户 端 NameNode 元 数 据 存 储 集 群 和 DataNode. 客 户 端 与 NameNode DataNode 以 及 元 数 据 存 储 集 群 进 行 通 信 来 访 问 SQL 鄄 DFS 文 件 系 统. 客 户 端 与 NameNode 通 信 可 访 问 集 群 内 的 元 数 据 信 息, 图 2 Fig. 2 SQL 鄄 DFS 文 件 系 统 架 构 Architecture of SQL 鄄 DFS

第 1 期 马 志 强, 等 : SQL 鄄 DFS: 一 种 基 于 HDFS 的 海 量 小 文 件 存 储 系 统 137 SQL 鄄 DFS 中 对 文 件 的 读 取 和 查 找 操 作 进 行 了 如 下 优 化 : 当 用 户 进 行 文 件 读 取 和 查 找 时, 如 果 通 过 文 件 类 型 判 定 客 户 端 请 求 的 文 件 为 小 文 件, 本 次 元 数 据 请 求 将 不 再 经 过 NameNode, 直 接 查 询 元 数 据 存 储 集 群, 从 而 减 少 了 客 户 端 对 NameNode 的 请 求 次 数, 减 轻 了 NameNode 的 负 载 压 力. 在 得 到 文 件 元 数 据 信 息 的 前 提 下, 客 户 端 与 DataNode 通 信 完 成 文 件 的 读 写. NameNode 仍 是 整 个 文 件 系 统 的 决 策 者 和 全 部 元 数 据 的 持 有 者, 只 是 将 元 数 据 由 内 存 转 存 到 了 元 数 据 存 储 集 群, 元 数 据 转 存 的 工 作 是 由 新 增 的 小 文 件 处 理 模 块 完 成 的. 小 文 件 处 理 模 块 的 处 理 过 程 如 下 : 1) 根 据 配 置 文 件 中 的 文 件 块 大 小 设 置, 对 用 户 写 入 的 文 件 进 行 大 小 性 质 的 判 断, 即 是 否 属 于 小 文 件 ; 2) 小 文 件 写 入 时, 接 收 NameNode 返 回 的 元 数 据 信 息 并 返 回 到 客 户 端, 待 文 件 上 传 完 成 后 将 元 数 据 信 息 同 步 到 元 数 据 存 储 集 群 ; 3) 文 件 读 取 时, 如 果 读 取 的 文 件 是 小 文 件, 则 向 元 数 据 存 储 集 群 中 的 元 数 据 管 理 模 块 请 求 元 数 据 信 息, 并 返 回 到 客 户 端 ; 4) 接 收 来 自 DataNode 的 心 跳 和 块 报 告, 将 其 中 小 文 件 相 关 的 部 分 转 发 的 元 数 据 存 储 集 群 的 元 数 据 管 理 模 块 进 行 下 一 步 处 理. 关 系 数 据 库 集 群 主 要 负 责 存 储 小 文 件 的 元 数 据 记 录, 通 过 配 置 文 件 可 以 指 定 不 同 类 型 的 关 系 型 数 据 库. 元 数 据 存 储 集 群 通 过 元 数 据 管 理 模 块 向 上 层 提 供 元 数 据 访 问 服 务, 具 体 处 理 过 程 为 : 1) 接 收 来 自 客 户 端 的 元 数 据 查 询 请 求 ; 2) 接 收 NameNode 的 元 数 据 记 录 同 步 请 求 ; 3) 接 收 来 自 NameNode 的 部 分 块 报 告, 与 数 据 库 集 群 中 的 记 录 匹 配 对 比, 并 将 结 果 返 回 到 NameNode. 2 郾 2 元 数 据 存 储 集 群 元 数 据 存 储 集 群 的 架 构 设 计 如 图 3 所 示, 主 要 存 储 小 文 件 信 息 小 文 件 与 Block 的 对 应 关 系 和 Block 与 DataNode 节 点 的 对 应 关 系. 集 群 通 过 元 数 据 管 理 模 块 将 数 据 库 接 口 提 供 给 客 户 端 和 NameNode, 接 收 二 者 的 访 问 请 求. 在 接 收 到 访 问 请 求 后, 根 据 数 据 库 语 句 的 关 键 字 判 断 该 访 问 请 求 是 读 操 作 还 是 写 操 作. 如 果 是 读 操 作, 则 将 该 请 求 分 发 到 相 对 空 闲 的 从 数 据 库 处 理 ; 如 果 是 写 操 作, 则 该 请 求 只 能 由 主 数 据 库 处 理, 而 且 必 须 以 事 务 方 式 进 行, 主 数 据 库 在 完 成 请 求 后 对 从 数 据 库 进 行 [14 鄄 同 步 15]. 图 3 关 系 数 据 库 集 群 Fig. 3 Relational database cluster 2 郾 3 SQL 鄄 DFS 文 件 操 作 在 改 进 后 的 HDFS 架 构 中, 提 供 了 对 文 件 全 面 的 操 作 支 持, 如 文 件 上 传 下 载 查 找 删 除 等 常 规 操 作. 以 文 件 上 传 和 文 件 下 载 过 程 为 例, 分 步 骤 对 改 进 后 的 HDFS 工 作 流 程 进 行 详 细 说 明. 2 郾 3 郾 1 写 文 件 操 作 客 户 端 在 写 入 文 件 时,NameNode 首 先 根 据 文 件 大 小 对 写 入 的 文 件 进 行 判 断, 如 果 写 入 的 文 件 属 于 小 文 件, 则 执 行 图 4 中 的 A B C D E 和 F 步 骤. 否 则, 将 执 行 A G H D 和 I 步 骤. 各 个 步 骤 如 下 : 步 骤 A 文 件 写 入 请 求 由 文 件 判 别 模 块 进 行 判 别 处 理, 如 果 文 件 大 小 小 于 配 置 文 件 中 设 定 的 文 件 阈 值, 则 判 定 该 文 件 为 小 文 件, 否 则 判 定 为 普 通 文 件. 步 骤 B 将 小 文 件 转 交 由 小 文 件 存 储 模 块 进 行 存 储,NameNode 节 点 将 为 该 文 件 分 配 空 间. 步 骤 C 小 文 件 存 储 模 块 元 数 据 信 息 返 回 到 客 户 端, 完 成 文 件 写 入 的 准 备 工 作. 步 骤 D 客 户 端 根 据 元 数 据 信 息 将 文 件 写 入 到 指 定 的 DataNode. 步 骤 E 客 户 端 返 回 文 件 写 入 确 认 信 息. 步 骤 F 小 文 件 存 储 模 块 将 小 文 件 信 息 元 数 据 信 息 数 据 写 入 到 数 据 库 集 群. 步 骤 G 普 通 文 件 由 通 用 文 件 存 储 模 块 进 行 存 储,NameNode 节 点 将 为 该 文 件 分 配 空 间, 并 将 产 生 的 元 数 据 信 息 写 入 到 元 数 据 文 件. 步 骤 H 通 用 文 件 存 储 模 块 将 元 数 据 信 息 返 回 到 客 户 端, 完 成 文 件 写 入 的 准 备 工 作. 步 骤 I 客 户 端 返 回 文 件 写 入 确 认 信 息. 2 郾 3 郾 2 读 文 件 操 作 文 件 读 取 时,NameNode 首 先 根 据 请 求 信 息 对 该 请 求 进 行 判 断, 如 果 请 求 的 文 件 属 于 小 文 件, 则 执 行

138 2016 年 北 京 工 业 大 学 学 报 分别搭建了原 HDFS 文件系统和 SQL鄄DFS 文件系 统,并将 2 种文件系统中的文件块大小均设置为 64 MB,副本数为 3,硬件配置情况如表 1 所示. 实验所 需的测试文件由程序生成得到,总数为 500 000 个, 文件 的 大 小 在 1 KB ~ 5 MB 之 间, 文 件 总 大 小 为 150郾 68 GB,文件平均大小为 316 KB. 表 1 实验环境配置 Table 1 Experimental environment configuration 图 4 文件写入过程 服务器 数量 软件版本 Web 服务器 1 Centos 6郾 5,JDK1郾 6,Tomcat 7郾 0郾 55 图 5 中 A B C D 和 E 步骤,否则将执行 A F G 和 Mysql 集群 3 Centos 6郾 5,JDK1郾 6,MySql 5郾 5郾 16 Fig. 4 Small file writing process E 步骤. 各个步骤解释如下: 步骤 A 文件读取请求信息交由文件判别模块 进行判别处理,如果文件大小小于配置文件中设定 的文件阈值,则判定该文件为小文件,否则判定为普 通文件. 步骤 B 小文件存储模块接收文件请求信息, 解析得到小文件的相关信息. 步骤 C 从数据库集群查询得到小文件的元数 据信息. 步骤 D 将小文件元数据信息返回到客户端. Hadoop 集群 8 在上述环境中本文共进行了 3 组实验,分别是: 文件写入实验 文件读取实验以及空闲时内存占用 对比实验,并在每组实验内分别进行 5 次不同文件 数量下的实验,文件数量依次为:100 000 200 000 300 000 400 000 和 500 000,文件均从测试文件中随 机抽取得到. 本文将文件平均耗时( file average cost,fac) 和 空闲时 NameNode 内存占用率指标作为实验的评价 标准,其中文件平均耗时具体定义为 步骤 E 客户端根据名称节点返回的元数据记 录到指定的数据节点上读取文件. 步骤 F 将文件请求信息转发到常规文件处理 Centos 6郾 5,JDK1郾 6,Hadoop鄄2郾 2郾 0 FAC = sum t i / sum 移 i =1 (1) 式中:sum 为测试文件的总个数;t i 为完成第 i 个文 模块进行处理. 件处理所用时间. FAC 代表集群对小文件处理操作 录,并返回到客户端. 能力 越 好. 而 空 闲 时 NameNode 内 存 占 用 率 通 过 步骤 G 从名称节点内存中查询得到元数据记 的平均用时,FAC 值越小说明集群对小文件的处理 free 命令即可得到,由于 NameNode 机器仅安装运行 HDFS 和 SQL鄄DFS,所以本指标可直接说明 2 种平 台下的内存占用情况. 3郾 2 文件写入实验 在文件写入实验中分别将不同数量的文件写入 到 HDFS 和 SQL鄄DFS 文件系统中上传,并测得完成 写入所需的总时间,表 2 中给出了实验测得的具体 数据. 表 2 不同平台下文件的写入耗时 图 5 小文件读取过程 Fig. 5 Small file reading process 3 实验设计与结果分析 3郾 1 实验环境与评价指标 为了验证 SQL鄄DFS 文件系统模型的性能,本文 Table 2 Writing time of the file on different platforms 文件数量 / 个 HDFS / s SQL鄄DFS / s 200 000 24 904 26 742 100 000 300 000 400 000 500 000 12 214 46 746 75 231 109 034 13 231 39 324 54 342 70 115

第 1 期 马 志 强, 等 : SQL 鄄 DFS: 一 种 基 于 HDFS 的 海 量 小 文 件 存 储 系 统 139 将 表 2 中 的 实 验 结 果, 按 照 式 (1) 处 理 可 得 到 不 同 数 量 的 文 件 写 入 时 的 FAC 值, 将 文 件 数 量 作 为 横 轴,FAC 作 为 纵 轴, 便 可 得 到 不 同 平 台 上 传 文 件 时 随 着 文 件 数 量 的 增 加 FAC 的 变 化 情 况, 如 图 6 所 示. 测 得 读 取 全 部 文 件 所 需 的 总 时 间, 表 3 给 出 了 实 验 测 得 的 具 体 数 据. 其 中 HAR 列 指 的 是 对 HDFS 中 的 文 件 执 行 归 档 命 令 以 后 再 进 行 文 件 读 取 的 耗 时. 表 3 不 同 平 台 下 文 件 的 读 取 耗 时 Table 3 Reading time of the file on different platforms 文 件 数 量 / 个 HDFS / s HAR / s SQL 鄄 DFS / s 100 000 4 082 5 141 2 066 200 000 8 766 11 212 4 402 300 000 10 272 17 869 6 906 400 000 20 964 30 174 9 580 500 000 29 055 43 042 12 890 图 6 小 文 件 写 入 平 均 耗 时 Fig. 6 Average time cost of the small file while writing on different platforms 表 2 表 明 随 着 写 入 文 件 数 量 的 增 多,HDFS 上 传 同 样 数 量 的 小 文 件 所 需 时 间 明 显 要 多 于 SQL 鄄 DFS,HDFS 耗 时 增 长 更 显 著. 通 过 图 6 同 样 可 以 发 现 在 SQL 鄄 DFS 中 随 着 上 传 文 件 数 量 的 增 加,FAC 值 变 化 极 为 平 缓, 增 速 远 低 于 HDFS, 说 明 在 SQL 鄄 DFS 中 新 写 入 的 文 件 对 集 群 性 能 不 会 产 生 明 显 的 负 面 影 响, 而 在 HDFS 中, 新 写 入 的 小 文 件 对 集 群 性 能 产 生 了 明 显 的 负 面 影 响, 如 当 文 件 达 到 50 万 时, SQL 鄄 DFS 的 FAC 为 0 郾 140 23 s, 而 HDFS 的 FAC 已 达 0 郾 218 07 s, 高 出 SQL 鄄 DFS 0 郾 077 8 s. SQL 鄄 DFS 架 构 设 计 在 文 件 数 量 少 的 情 况 下, 文 件 写 入 性 能 并 没 有 提 高, 相 比 原 HDFS 架 构 反 而 耗 时 更 多, 这 是 由 于 改 进 后 的 架 构 中 加 入 了 小 文 件 判 别 模 块, 需 要 对 用 户 上 传 的 文 件 进 行 统 一 判 别, 但 随 着 上 传 文 件 数 量 的 增 多,SQL 鄄 DFS 架 构 表 现 出 更 好 的 性 能, 这 是 因 为 原 HDFS 的 架 构 设 计 需 要 在 NameNode 节 点 的 内 存 中 加 载 并 维 持 文 件 的 元 数 据 信 息, 随 着 文 件 的 增 多 元 数 据 占 据 消 耗 更 多 的 内 存 空 间, 使 得 系 统 整 体 性 能 下 降. 而 在 SQL 鄄 DFS 中, NameNode 节 点 的 内 存 占 用 几 乎 没 有 变 化, 所 有 的 元 数 据 信 息 都 转 化 成 表 记 录 存 储 到 了 数 据 库 集 群 内. 当 上 传 的 小 文 件 约 240 000 个 时,SQL 鄄 DFS 架 构 在 文 件 写 入 时 的 表 现 已 经 优 于 原 HDFS 架 构, 此 时 原 HDFS 架 构 中 元 数 据 文 件 大 小 为 206 郾 7 MB, 而 SQL 鄄 DFS 架 构 中 元 数 据 文 件 大 小 为 32 郾 5 MB. 3 郾 3 文 件 读 取 实 验 在 文 件 读 取 实 验 中, 分 别 从 HDFS HDFS 鄄 HAR 以 及 SQL 鄄 DFS 文 件 系 统 中 读 取 不 同 数 量 的 文 件, 并 将 表 3 中 的 实 验 结 果, 按 照 式 (1) 处 理 可 得 到 不 同 数 量 文 件 读 取 时 的 FAC 值, 将 文 件 数 量 作 为 横 轴,FAC 作 为 纵 轴, 便 可 得 到 不 同 平 台 读 取 文 件 时 随 着 文 件 数 量 的 增 加 FAC 值 的 变 化 情 况, 如 图 7 所 示. 图 7 小 文 件 读 取 平 均 耗 时 Fig. 7 Average time cost of the small file while reading on different platforms 通 过 图 7 可 以 发 现,SQL 鄄 DFS 在 文 件 读 取 方 面 性 能 有 了 显 著 的 提 高, 用 时 明 显 低 于 同 等 文 件 数 量 下 的 HDFS 以 及 归 档 操 作 后 的 HDFS. 归 档 操 作 后 的 HDFS 虽 然 节 省 了 NameNode 节 点 内 存, 但 由 于 需 要 读 取 2 层 索 引 文 件 导 致 其 在 文 件 读 取 性 能 上 表 现 是 最 差 的. 在 图 7 中,SQL 鄄 DFS 的 FAC 变 化 最 为 平 缓, 测 试 文 件 数 量 由 100 000 增 加 到 500 000,FAC 值 仅 增 加 0 郾 005 1 s,fac 均 值 约 为 0 郾 023 1 s, 相 比 HDFS 均 值 (0 郾 048 6 s) 降 低 了 0 郾 025 5 s, 比 HDFS 鄄 HAR 均 值 (0 郾 065 9 s) 低 了 0 郾 042 8 s. 3 郾 4 空 闲 时 内 存 占 用 对 比 实 验 每 次 实 验 后, 通 过 执 行 free 命 令 查 看 到 系 统 的 内 存 占 用 率 情 况, 具 体 如 图 8 所 示. 通 过 图 8 可 以 发 现,SQL 鄄 DFS 在 NameNode 内 存 消 耗 上 表 现 也 是 最 好 的, 当 文 件 数 目 达 到 了 500 000 时, 原 HDFS 中 NameNode 节 点 内 存 使 用 率

140 北 京 工 业 大 学 学 报 2016 年 图 8 NameNode 节 点 内 存 使 用 情 况 Fig. 8 Usage of NameNode node memory 达 33 郾 4%, 而 SQL 鄄 DFS 中 NameNode 节 点 内 存 使 用 率 仅 有 12 郾 5%. 3 郾 5 普 通 文 件 与 大 文 件 读 写 对 比 实 验 为 了 验 证 SQL 鄄 DFS 在 存 储 普 通 文 件 与 大 文 件 时 的 性 能, 在 实 验 平 台 上 进 行 了 SQL 鄄 DFS 与 HDFS 文 件 系 统 的 对 比 实 验, 分 别 为 文 件 写 入 实 验 和 文 件 读 取 实 验. 其 中 实 验 数 据 为 50 个 视 频 文 件, 文 件 总 大 小 为 62 郾 65 GB, 文 件 平 均 大 小 为 1 郾 253 GB, 过 程 同 小 文 件 对 比 实 验 过 程 一 致. 由 表 4 可 知, 当 普 通 文 件 与 大 文 件 写 入 时,SQL 鄄 DFS 上 传 同 等 数 量 的 文 件 所 需 时 间 比 原 HDFS 文 件 系 统 耗 时 要 多, 二 者 的 差 值 仅 占 总 上 传 时 间 的 2% 左 右, 这 是 由 于 SQL 鄄 DFS 文 件 系 统 上 传 普 通 文 件 时, 所 有 上 传 文 件 需 要 统 一 经 由 文 件 判 别 模 块 进 行 文 件 大 小 的 判 定, 从 而 导 致 了 耗 时 差 值. 表 4 不 同 平 台 下 普 通 文 件 的 写 入 耗 时 Table 4 Writing time of the ordinary file on different platforms 数 量 大 小 / GB HDFS / s SQL 鄄 DFS / s 耗 时 差 值 / s 10 11 郾 47 344 郾 83 352 郾 65 7 郾 82 20 26 郾 54 759 郾 09 774 郾 56 15 郾 47 30 37 郾 90 1 142 郾 80 1 165 郾 86 23 郾 06 40 51 郾 26 1 557 郾 11 1 586 郾 23 29 郾 12 50 62 郾 65 1 918 郾 03 1 952 郾 90 34 郾 87 将 表 4 中 的 实 验 结 果, 按 照 式 (1) 处 理 可 得 到 不 同 数 量 的 文 件 读 取 时 的 FAC 值, 将 文 件 数 量 作 为 横 轴,FAC 作 为 纵 轴, 便 可 得 到 不 同 平 台 写 入 普 通 文 件 时 随 着 文 件 数 量 的 增 加 FAC 的 变 化 情 况, 如 图 9 所 示. 由 图 9 可 知, 文 件 数 量 的 增 多 及 文 件 系 统 中 文 件 块 的 增 多, 导 致 SQL 鄄 DFS 和 HDFS 写 入 普 通 文 件 图 9 普 通 文 件 写 入 平 均 耗 时 Fig. 9 Average time cost of the ordinary file while writing on different platforms 的 平 均 耗 时 均 有 所 增 加, 增 加 速 度 都 极 为 平 缓, 并 且 二 者 的 差 值 极 小, 说 明 SQL 鄄 DFS 文 件 系 统 中 的 文 件 判 别 模 块 对 普 通 文 件 以 及 大 文 件 的 写 入 带 来 了 极 小 的 负 面 影 响, 可 忽 略 不 计. 在 普 通 文 件 以 及 大 文 件 读 取 时, 文 件 判 别 模 块 带 来 了 同 样 的 负 面 影 响, 在 读 取 实 验 的 结 果 中 也 得 到 了 验 证, 本 文 不 另 作 陈 述. 4 结 论 1) 通 过 在 HDFS 的 NameNode 中 加 入 小 文 件 处 理 模 块, 将 HDFS 中 部 分 DataNode 文 件 块 的 校 验 工 作 交 由 元 数 据 存 储 集 群 完 成, 给 出 了 一 种 基 于 元 数 据 存 储 集 群 的 SQL 鄄 DFS 文 件 系 统, 实 现 了 海 量 小 文 件 的 快 速 读 写. 2) 构 建 了 SQL 鄄 DFS 文 件 系 统, 并 与 HDFS 系 统 进 行 了 多 组 对 比 实 验, 实 验 结 果 表 明 :SQL 鄄 DFS 文 件 系 统 在 小 文 件 的 读 写 性 能 上 表 现 均 优 于 HDFS, 可 以 用 于 海 量 小 文 件 的 存 储. 参 考 文 献 : [1] Apache. Welcome to apache hadoop[eb / OL]. (2010 鄄 02 鄄 27)[2015 鄄 04 鄄 12]. http: 椅 hadoop. apache. org. [2] BORTHAKUR D. The hadoop distributed file system: architecture and design [ J ]. Hadoop Project Website, 2007, 11(11): 1 鄄 10. [3] SHVACHKO K, KUANG H, RADIA S, et al. The hadoop distributed file system [ C] 椅 Mass Storage Systems and Technologies ( MSST), 2010 IEEE 26th Symposium on. Incline Village: IEEE, 2010: 1 鄄 10. [4] MACKEY G, SEHRISH S, WANG J. Improving metadata management for small files in HDFS [ C ] 椅 Cluster Computing and Workshops, 2009. CLUSTER 蒺 09. IEEE International Conference on. New Orleans: IEEE, 2009: 1 鄄 4. [5] 赵 晓 永, 杨 扬, 孙 莉 莉, 等. 基 于 Hadoop 的 海 量 MP3 文 件 存 储 架 构 研 究 [ J]. 计 算 机 应 用, 2012, 32 (6): 1724 鄄 1726.

第 1 期 马 志 强, 等 : SQL 鄄 DFS: 一 种 基 于 HDFS 的 海 量 小 文 件 存 储 系 统 141 ZHAO X Y, YANG Y, SUN L L, et al. Hadoop 鄄 based storage architecture for mass MP3 files [ J ]. Journal of Computer Applications, 2012, 32 (6): 1724 鄄 1726. ( in Chinese) [6] 刘 高 军, 王 帝 澳. 基 于 Redis 的 海 量 小 文 件 分 布 式 存 储 方 法 研 究 [J]. 计 算 机 工 程 与 科 学, 2013, 35(10): 58 鄄 64. LIU G J, WANG D A. Research of Redis based distributed storage method for massive small file [ J ]. Computer Engineering & Science, 2013, 35(10): 58 鄄 64. ( in Chinese) [7] 余 思, 桂 小 林, 黄 汝 维, 等. 一 种 提 高 云 存 储 中 小 文 件 存 储 效 率 的 方 案 [ J]. 西 安 交 通 大 学 学 报, 2011, 45 (6): 59 鄄 63. YU S, GUI X L, HUANG R W, et al. Improving the storage efficiency of small files in cloud storage [ J ]. Journal of Xi 蒺 an Jiaotong University, 2011, 45 (6): 59 鄄 63. (in Chinese) [8] 洪 旭 升, 林 世 平. 基 于 MapFile 的 HDFS 小 文 件 存 储 效 率 问 题 [ J]. 计 算 机 系 统 应 用, 2012, 21 (11): 179 鄄 182. HONG X S, LIN S P. Efficiency of storaging small files in HDFS based on MapFile [ J ]. Computer Systems & Applications, 2012, 21(11): 179 鄄 182. (in Chinese) [9] 张 海, 马 建 红. 基 于 HDFS 的 小 文 件 存 储 与 读 取 优 化 策 略 [J]. 计 算 机 系 统 应 用, 2014, 23(5): 167 鄄 171. ZHANG H, MA J H. Optimizational strategy of small files stored and readed on HDFS [ J ]. Computer Systems & Applications, 2014, 23(5): 167 鄄 171. (in Chinese) [10] 刘 小 俊, 徐 正 全, 潘 少 明. 一 种 结 合 RDBMS 和 Hadoop 的 海 量 小 文 件 存 储 方 法 [ J]. 武 汉 大 学 学 报 ( 信 息 科 学 版 ), 2013, 38(1): 113 鄄 115. LIU X J, XU Z Q, PAN S M. A massive small file storage solution combination of RDBMS and hadoop[ J]. Geomatics and Information Science of Wuhan University, 2013, 38(1): 113 鄄 115. (in Chinese) [11] 朱 晓 丽, 赵 志 刚. 一 种 基 于 HBase 的 海 量 图 片 存 储 技 术 [J]. 信 息 系 统 工 程, 2013 (8): 22 鄄 24. ZHU X L, ZHAO Z G. A massive image storage technology based on HBase [ J ]. Information System Engineering, 2013 (8): 22 鄄 24. (in Chinese) [12] MONTANER H, SILLA F, FR 魻 NING H, et al. A new degree of freedom for memory allocation in clusters[ J]. Cluster Computing, 2012, 15(2): 101 鄄 123. [13] 谷 震 离. 关 系 数 据 库 查 询 优 化 方 法 研 究 [ J]. 微 计 算 机 信 息, 2006 (15): 162 鄄 164. GU Z L. Research on optimization method for queries in relational database [ J ]. Control & Automation, 2006 (15): 162 鄄 164. (in Chinese) [14] AKAL F, B 魻 HM K, SCHEK H J. OLAP query evaluation in a database cluster: a performance study on intra 鄄 query parallelism[ C] 椅 Advances in Databases and Information Systems. Berlin: Springer, 2002: 218 鄄 231. [15] CATTELL R. Scalable SQL and NoSQL data stores[ J]. Acm Sigmod Record, 2011, 39(4): 12 鄄 27. ( 责 任 编 辑 吕 小 红 )