zoukankan      html  css  js  c++  java
  • 基于Hadoop2.2.0版本号分布式云盘的设计与实现

    基于Hadoop2.2.0版本号分布式云盘的设计与实现

    一、前言

    在学习了hadoop2.2一个月以来,我重点是在学习hadoop2.2的HDFS。即是hadoop的分布式系统,看了非常久的源代码看的我真的想吐啊,感觉看源代码还是没什么劲,于是心血来潮看到可百度的网盘挺有意思(事实上我一直都在用百度的网盘)对里面的功能的实现非常好奇,于是我就突发奇想,能不能用hadoop来做个呢?答案是肯定的。于是我就開始了,可是实际中,没有人用hadoop来做网盘,由于hadoop不适合存放小文件。当然办法总是有的,比方小文件能够存入HBase中。hadoop2.2.0这个版本号与hadoop1的版本号有不同,且在源代码上也有非常大的区别。引入了Yarn这个资源管理框架,眼下YARN能够管理的资料类型包含了CPU和内存,未来可能会增加对磁盘和网络等类型的支持。眼下YARN能够支持的框架包含:MapReduce(批处理框架)、Storm(流式处理框架,项目为Stormon YARN,主要由Hortonworks在推进。正式版本号未出但可用,yahoo和淘宝等在内部已经大规模使用)、Spark(内存处理框架,项目为Spark on YARN,主要由Cloudera在推进。正式版本号未出但可用,淘宝等在内部也已经大规模使用)。
    正在YARN上开发且未来比較靠谱的框架有:Tez(DAG框架,继承自MapReduce,性能有巨大提升)、Hoya(将HBase执行在YARN上,主要由Hortonworks在推进)。

    二、设计与实现

    採用了Struts2+tomcat7+mysql+Ajax+hadoop2.2来部署架构整个系统。

    2.1 架构 

    Struts2确实在网页的开发阶段比起单纯的jsp和servlet又更上一层楼。本人也仅仅是了解Struts2那么一点。发现有项目驱动可能学习某个知识点更快,你们说呢?tomcat是众所周知的,用作webserver。mysql在这里我仅仅用作登录验证。Ajax则主要是负责在上传的时候显示运行进度条的作用。hadoop2.2主要提供HDFS分布式存储。而且用到了其相关的Jar。

    事实上不管是百度的网盘,还是360网盘,还是华为网盘,其无非都是类似于像Hadoop这种做分布式存储,前台展现给客户。分布式存储有的是用openstack。还有的像淘宝的TFS,华为的自己开发的云端系统,华为OceanStor CloudStor CSS云存储等等吧。。

    2.2 本系统实现的功能

    (1)显示用户系统下全部文件列表
    (2)实现上传、下载、重命名、删除文件功能
    (3)实现client音频(多数格式的)音乐播放功能<暂不支持视频播放>
    (4)实如今线图片预览的功能
    (5)实如今线文本文档的浏览功能

    三、Hadoop2.2分布式云盘的界面

    1、欢迎页面


    2、登录页面


    3、系统主界面


    4、文件上传界面


    5、图片预览


    6、音乐播放


    7、文本预览




    四、总结

    作为研究生,本应该研究研究理论性的东西,说实话,理论这东西不读个博士什么的我个人认为在短暂的这两年多时间里,可能研究不出什么玩意来。纯属个人意见,呵呵。这个系统还是有一些BUG的。以后有时间还的继续改动。我还是对大数据非常感兴趣,可是怎样操纵大数据呢?光靠Hadoop是远远不够的,还能够结合数据挖掘,数据仓库,算法等去捣鼓捣鼓可能有效。这个系统算作本人的个人作品吧,麻雀虽小,但还是五脏俱全。主要是一段时间不写点程序,有点不舒服的感觉。呵呵。另外我想说hadoop2源代码太多了,哎,慢慢看吧,不结合实战练习的话,没多大效果我认为。如今还有非常多课要上,恩多论文要看。在过两个月,全部的课程最终结束了。。。期待中。。。。。。。。


  • 相关阅读:
    有哪些命令行的软件堪称神器?
    [置顶] 《技术大牛养成指南》
    Java 8 集合不完全一览
    [置顶] tcpflow 抓包
    被遗忘的 Logrotate
    [置顶] Every Programmer Should Know These Latency Numbers
    安装 Ubuntu 14.04 之后要做的一些事
    windows.h系统函数
    《葡萄源》
    在 Visual Studio 中创建一个简单的 C# 控制台应用程序
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4381277.html
Copyright © 2011-2022 走看看