基于Hadoop的云盘系统客户端技术选型说明

 伴随云计算技术的发展,云盘系统不断涌现,百度、360、金山等都推出了各自的云盘产品,而云盘存储的模式也越来越被用户所接受,也有越来越多的公司跃跃欲试,想在云存储领域大展拳脚,有一番作为。但是开源Hadoop平台实现语言Java和操作系统Linux的限制,Windows用户桌面版云盘客户端的开发成为了一道不可逾越的屏障。

  传统桌面软件开发最适合的语言是C/C++体系(不排斥非主流VB、Delphi、C#,有兴趣的可自行研究),云盘系统的客户端也是针对最广大的Windows桌面用户设计,最基本的要求是没要求,傻瓜式。所以如何基于开源的Hadoop云计算平台,开发云盘系统客户端的问题就转化为如何使用C/C++(或其相类语言)开发云盘客户端的问题。

  Hadoop提供的客户端开发接口包括Fuse、libhdfs、Java、thrift、webhdfs等。这几种接口中,Fuse是挂载式,适合在Linux/Unix类本地管理hadoop文件,从HDFS提供的Shell管理脚本对比的角度来看,使用意义不大;libhdfs适用于Linux/Unix服务端访问HDFS存储空间,不能应用于Windows桌面终端软件的开发;Java接口,由于Java虚拟机的限制,制作的桌面软件以来域Java的JDK,需要安装配置JDK相关环境变量,不符合Windows桌面程序常用习惯;Thrift是一个不错选择,其原理是代理模式,在Hadoop服务器端启动ThriftServer支持,在客户端通过客户端库访问ThrfitServer从而实现对hdfs分布式文件存储系统的访问,这是一个不错的选择,作为开发者也可以自行扩展ThriftServer的功能;最后还有一种选择就是自行开发服务端代理,在服务器端通过libhdfs或者Java API进行开发,条件是你必须十分熟悉HDFS系统接口和技术框架体系。

  本文作者在开源社区上传了一套针对Windows用户、基于thrift的开发库,有兴趣的可自行下载:

https://sourceforge.net/projects/libhdfs4win/

时间: 2024-11-01 10:50:26

基于Hadoop的云盘系统客户端技术选型说明的相关文章

基于Hadoop的云盘系统客户端技术难点之二 HDFS文件访问控制

作者:张子良 版权所有,转载请注明出处 一.概述 Hadoop开源技术框架在实际业务应用中,其早期的安全机制饱受诟病,具体到HDFS应用方面的问题,主要包括以下几个方面: 1.用户到服务器的认证问题 (1)Namenode上没有用户认证:用户只要知道NameNode服务地址和端口信息,就可以访问HDFS,并获取文件namespace信息. (2)Datanode上没有认证机制:Datanode对读入输出并没有认证,导致如果客户端知道Blockid,就可以任意的访问Datanode上的Block数

基于Hadoop的云盘系统客户端技术难点之一 上传和下载效率优化

作者:张子良  声明:版权所有,转载请注明出处 一.概述 基于任何平台实现的云盘系统,面临的首要的技术问题就是客户端上传和下载效率优化问题.基于Hadoop实现的云盘系统,受到Hadoop文件读写机制的影响,采用Hadoop提供的API进行HDFS文件系统访问,文件读取时默认是顺序.逐block读取:写入时是顺序写入. 二.读写机制 首先来看文件读取机制:尽管DataNode实现了文件存储空间的水平扩展和多副本机制,但是针对单个具体文件的读取,Hadoop默认的API接口并没有提供多DataNo

基于Hadoop的云盘系统客户端技术难点之三 小文件存储优化

作者:张子良 版权所有,转载请注明出处. 一.概述 首先明确概念,这里的小文件是指小于HDFS系统Block大小的文件(默认64M),如果使用HDFS存储大量的小文件,将会是一场灾难,这取决于HDFS的实现机制和框架结构,每一个存储在HDFS中的文件.目录和块映射为一个对象存储在NameNode服务器内存中,通常占用150个字节.如果有1千万个文件,就需要消耗大约3G的内存空间.如果是10亿个文件呢,简直不可想象.这里需要特别说明的是,每一个小于Block大小的文件,存储是实际占用的存储空间仍然

基于Hadoop开发网络云盘系统客户端界面设计初稿

前言: 本文是<基于Hadoop开发网络云盘系统架构设计方案>的第二篇,针对界面原型原本考虑有两个方案:1.类windows模式,文件夹.文件方式,操作习惯完全按照Windows方式进行,提供右键菜单管理命令.2.浏览列表式,提供常规界面按钮式命令.本文采用的方式是文件清单列表式,至于第一种方式,另列专题进行说明. 一.界面原型 二.设计说明 连接管理:建立连接.断开连接.设置连接参数 文件操作:浏览文件.上传文件.下载文件.删除文件.导入文件(批量).刷新列表 用户管理:查看用户信息.修改用

基于Hadoop开发网络云盘系统架构设计方案第一稿

引言 云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度.新浪.网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己的网络云盘系统,方案为初步设计方案,不断完善中. 一.总体架构 二.方案说明 2.1 系统切分 从用户角度,整个系统划分为ECDisk客户端.ECDisk运营管理平台.HDFS分布式文件存储集群和账户数据应用平台四部分. 2.2 功能需求 文件管理:浏览.文件上传.文件下载.文件删除 用户管理:用户注册.用户登录.用户注销.账户充值.账户查询 三.技

ownCloud Client 2.2.4 发布,私人云盘系统

ownCloud Client 2.2.4 发布了. ownCloud是openmediavault内置的私人云盘系统,基于php,有linux/windows/xos 等桌面系统的客户端,也有ios/andriod/winphone等手机系统的客户端.因为功能简单,所以安装使用十分方便. 更新内容: Dolphin Plugin: Use the Application name for the socket path (#5172) SyncEngine: Fix renaming of f

基于Hadoop的视频监控系统的设计与实现

基于Hadoop的视频监控系统的设计与实现 内蒙古大学  梁师师 随着平安中国项目的深入,公众对视频监控的需求越来越强烈.摄像头等视频采集设备的清晰度不断提高,监控器的个数不断增加,对视频处理的需求不断提高,这与传统的网络视频监控系统架构发生矛盾.而日益兴起的云计算为视频监控开辟了一条新的道路,云视频监控系统满足了大数据计算.存储的要求,解决了传统的视频监控系统的缺陷.本文的工作正是在云计算技术基础上搭建大规模高清视频监控系统.本文首先简单介绍视频监控技术的发展过程和目前视频监控技术遇到的瓶颈问

基于Hadoop的云移动信息服务模型研究

基于Hadoop的云移动信息服务模型研究 马林山,赵庆峰,肖新国 在分析开源平台Hadoop的相关技术的基础上,提出了基于该平台的移动信息服务模型,并详细介绍了模型的各个构建组成部分.系统的功能设计.经测试,效果良好.实用性较强. 关键词:云计算:Hadoop:HadoopDB:移动阅读:元数据:模型 基于Hadoop的云移动信息服务模型研究

基于Hadoop的云教学资源平台设计与实现

基于Hadoop的云教学资源平台设计与实现 北京交通大学 徐东 本文首先对云平台中教学资源的存储结构.融合HBase和MySQL两类数据库优势的混合式数据库系统以及基于J2EE中主流SSH2框架的Web系统进行设计,使用Hadoop的分布式文件系统来存储教学资源,实现了一个实验性的基于Hadoop的云教学资源平台.其次,重新定义了平台资源反馈方式及角色关系,增加平台管理和维护的灵活行.同时,为提升平台及资源共享能力,开发了对外开放的应用接口.最后,进行云教学资源平台与传统资源平台对比的性能测试,