基于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. UVALive - 4621 Cav 贪心 + 分析

    题目大意:有一张洞穴地图,要在这个洞穴里面存放水,要求水不能碰到洞穴顶部.如今给出每一个位置的顶部位置和地面高度.问最多能够放多少水 解题思路:根据物理定理,每一段有水的连续区间,水位高度必须相等 所 ...

  2. 10gocm-&gt;session5-&gt;数据库管理实验

    Oracle数据库管理实验 一 传输表空间 二 创建分区表和分区索引 三 FGA细粒度审计 四 监控索引使用情况 五 创建含特殊字段类型的表 六 Flashback闪回技术 一 传输表空间,将ocmd ...

  3. zigbee学习:示例程序SampleApp中按键工作流程

    zigbee学习:示例程序SampleApp中按键工作流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:IAR8. ...

  4. ACdream原创群赛(18)のAK's dream题解

    只做了4题水题ADGI A题需要注意的就是“[...]”的输出了,何时输出,何时不输出. #include <stdio.h> int main() { int n, cur, d; ; ...

  5. Oracle Data Provider for .NET 的使用经验

    原文:Oracle Data Provider for .NET 的使用经验 Oracle Data Provider for .NET 是Oracle提供的基于Ado.net接口的一个开发包.    ...

  6. cocos2d-x笔记(十一)Lua发展飞机战争-5- 让飞机动

    然后在飞机上已被添加到游戏,下一步是让它动起来.主要是为了应对触摸事件. 在C++通过重写ccTouchBegan().ccTouchMoved().ccTouchEnded()三个函数来响应触摸事件 ...

  7. Blink: Chromium的新渲染引擎

    编自http://www.chromium.org/blink 关于blink Google Chrome/Chromium 从创始至今一直使用 WebKit(WebCore) 作为 HTML/CSS ...

  8. mysql重装后出现乱码解决办法

    查看当前连接系统参数:SHOW VARIABLES LIKE '%char%'; mysql> show variables like 'char%'; +------------------- ...

  9. poj 3259(bellman最短路径)

    Wormholes Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 30169   Accepted: 10914 Descr ...

  10. TaintDroid:智能手机监控实时隐私信息流跟踪系统(一)

    1.1     摘要 现今,智能手机操作系统不能有效的提供给用户足够的控制权并且很清楚的了解到第三方的应用程序是如何使用其的隐私数据.我们使用了TaintDroid来阐明这个缺点,其是一个高效的,全系 ...