基于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. Spring in action(Spring实战) 第四版中文翻译

    第一部分 Spring核心 Spring提供了非常多功能,可是全部这些功能的基础是是依赖注入(DI)和面向方面编程(AOP). 第一章 Springing into action 本章包含: Spri ...

  2. 世纪互联、微软Azure与无穷小微积分

              今年9月25日,世纪互联正式开通微软Azure商用服务,有感.          我是世纪互联创业历程的见证人(之中的一个),现在看到世纪互联推出微软Azure公有云的商用服务,心 ...

  3. 从PCI上读取数据 线程和定时器效率

    从PCI上读取数据 线程和定时器效率 线程: mythread=AfxBeginThread(StartContinuous,(LPVOID)1,THREAD_PRIORITY_NORMAL,0,CR ...

  4. LDAPserver的安装

    源代码安装,以root用户进行 由于:由于openldap须要用Berkeley DB来存放数据,所以要先安装所以需先安装Berkeley DB 4.2.52数据库. 一 安装Berkeley DB ...

  5. 时间复杂度为O(nlogn)的LIS算法

    时间复杂度为 n*logn的LIS算法是用一个stack维护一个最长递增子序列 如果存在 x < y 且  a[x] > a[y],那么我们可以用a[y]去替换a[x] 因为a[y]比较小 ...

  6. WCF配置文件

    因为要上传较大的图片,WCF传递数组的默认的最大数组16KB就不够了.以下讲解配置内容. 服务端配置 这里一个WCF项目中有1个服务,配置文件如下(位于system.serviceModel标签中): ...

  7. 悼念传奇,约翰询问&#183;纳什和他的妻子艾丽西亚致敬,创建一个传奇,爱数学

    约翰·阅读·纳什的传记.我渴望录制通道 我一直相信数字,无论逻辑方程使我们认为.但这种追求一生的后,我问自己:"这是什么逻辑?谁决定的理由?"我的探索让我从物理到形而上,最后到了妄 ...

  8. 【原创】leetCodeOj --- Dungeon Game 解题报告

    原题地址: https://oj.leetcode.com/problems/dungeon-game/ 题目内容: The demons had captured the princess (P) ...

  9. MVC模型与FishiGUI应用层MVC型号

    MVC概要: MVC (Modal View Controler)M是指数据模型,V是指用户界面,C则是控制器. 使用MVC的目的是将M和V的实现代码分离,从而使同一个程序能够使用不同的表现形式.比方 ...

  10. 在汉澳sinox2014建立ZFS高可靠文件存储系统

    在汉澳sinox2014建立ZFS高可靠文件存储系统 汉澳sinox2014能够用比較小的固态硬盘安装,文件系统能够用zfs系统存放. 请准备一些硬盘,比方三块SCSI硬盘:da0,da1,da2 如 ...