Hadoop develop

博学笃志,切问近思,此八字,是收放心的工夫。 神闲气静,智深勇沉,此八字,是干大事的本领。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  190 随笔 :: 10 文章 :: 199 评论 :: 45万 阅读

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

 

posted on   张子良  阅读(1166)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示