基于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源代码太多了,哎,慢慢看吧,不结合实战练习的话,没多大效果我认为。如今还有非常多课要上,恩多论文要看。在过两个月,全部的课程最终结束了。。。期待中。。。。。。。。

基于Hadoop2.2.0版本号分布式云盘的设计与实现的更多相关文章

  1. 琐碎-hadoop2.2.0伪分布式和完全分布式安装(centos6.4)

    环境是centos6.4-32,hadoop2.2.0 伪分布式文档:http://pan.baidu.com/s/1kTrAcWB 完全分布式文档:http://pan.baidu.com/s/1s ...

  2. hadoop-2.6.0为分布式安装

    hadoop-2.6.0为分布式安装 伪分布模式集群规划(单节点)------------------------------------------------------------------- ...

  3. Hadoop2.5.0伪分布式环境搭建

    本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...

  4. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  5. 基于hadoop2.6.0搭建5个节点的分布式集群

    1.前言 我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNode+HA.ResourceManager+HA,并使用zookeeper来管理Hadoop集群 2.规划 1.主 ...

  6. Ubuntu15.10下Hadoop2.6.0伪分布式环境安装配置及Hadoop Streaming的体验

    Ubuntu用的是Ubuntu15.10Beta2版本,正式的版本好像要到这个月的22号才发布.参考的资料主要是http://www.powerxing.com/install-hadoop-clus ...

  7. Hadoop2.6.0完全分布式安装

    本文地址:http://www.cnblogs.com/myresearch/p/hadoop-full-distributed-operation.html,转载请注明源地址. 我这边是使用了两台主 ...

  8. Hadoop新生报到(一) hadoop2.6.0伪分布式配置详解

    首先先不看理论,搭建起环境之后再看: 搭建伪分布式是为了模拟环境,调试方便. 电脑是win10,用的虚拟机VMware Workstation 12 Pro,跑的Linux系统是centos6.5 , ...

  9. 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例

    ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...

随机推荐

  1. LeetCode: Best Time to Buy and Sell Stock III [123]

    [称号] Say you have an array for which the ith element is the price of a given stock on day i. Design ...

  2. 遇过的坑(2)—MyISAM表类型不支持事务操作

    最近需要通过JDBC对数据库做事务型操作,实践时发现,并没有达到想要的效果,表现在:1.每次执行executeUpdate()后,数据就马上能在DB中查到.但按理来说,我还没执行commit(),DB ...

  3. Python的包管理

    0.Python的包管理 在刚开始学习Python的时候比较头疼各种包的管理,后来搜到一些Python的包管理工具,比如setuptools, easy_install, pip, distribut ...

  4. UVA 707 - Robbery(内存搜索)

    UVA 707 - Robbery 题目链接 题意:在一个w * h的图上.t个时刻,然后知道一些信息,每一个时刻没有小偷的矩阵位置,问哪些时刻能够唯一确定小偷位置.和确定小偷是否已经逃走,假设没逃走 ...

  5. windows phone (27) 基础Button

    原文:windows phone (27) 基础Button Button 在wp7中因其灵活性经常会用到,我们在ContentPanel中直接添加Button,button默认状态下是把整个grid ...

  6. Sql Server函数全解<五>之系统函数

    原文:Sql Server函数全解<五>之系统函数  系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些 ...

  7. Linux如何用QQ?Linux下QQ使用的几种方案

    在linux下如何使用QQ?在ubuntu11.10中如何使用QQ?或许有初涉linux的人这样问,我们可以看看ubuntusoft总结出来的几种在linux系统下用QQ的方法.前面的几种主要的方法都 ...

  8. 即时编译和打包您的 Groovy 脚本(转)

    在本文中将会涉及到: 使用 CliBuilder 来实现对命令行选项的支持,脚本执行时所需要的参数将通过命令行选项的方式传递. 使用 GroovyClassLoader 加载 Groovy class ...

  9. IIS6,IIS7中查看w3wp进程

    当我们服务器创建了很多应用程序池,然后某个w3wp.exe进程占用CPU和内存过高,我们怎么查找这个w3wp.exe进程属于哪一个网站呢.其实微软为我们提供了很好的查看工具: 首先打开windows任 ...

  10. Linux新手命令

    给老婆写了一份速成培训教材--最经常使用的命令及解释.当然每一个人工作内容不同,经常使用命令也不同,这仅仅是我的个人经验,并且要考虑到接受者的基础. ls:列出文件夹下的内容,类似于dos下的dir. ...