您的位置:首页 > 运维架构

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

2018-02-07 17:50 429 查看
  伴随云计算技术的发展,云盘系统不断涌现,百度、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/

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: