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

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

  伴随云计算技术的发展,云盘系统不断涌现,百度、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/

 


作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关文章
|
8月前
|
分布式计算 Hadoop Java
hadoop的单台部署
hadoop的单台部署
70 0
|
11月前
|
XML 分布式计算 运维
|
存储 分布式计算 Oracle
单机部署hadoop2.7.3
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
129 0
单机部署hadoop2.7.3
|
分布式计算 资源调度 Ubuntu
Hadoop3.0通用版集群安装高可靠详细教程【包括零基础】
Hadoop3.0通用版集群安装高可靠详细教程【包括零基础】
111 0
Hadoop3.0通用版集群安装高可靠详细教程【包括零基础】
|
分布式计算 资源调度 Hadoop
Hadoop02【架构分析】
Hadoop1.0即第一代Hadoop,指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。
Hadoop02【架构分析】
|
分布式计算 Hadoop 网络安全
|
机器学习/深度学习 分布式计算 Hadoop
|
SQL 分布式计算 HIVE
|
存储 分布式计算 Hadoop

热门文章

最新文章