我是靠谱客的博主 羞涩纸飞机,最近开发中收集的这篇文章主要介绍hadoop云盘client的设计与实现(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

近期在hadoop云盘client项目。在做这个项目曾经对hadoop是一点都不了解呀,在网上查了好久。将client开发的是非常少的,在做这个项目的过程中遇到非常多奇葩的问题。

并且试图换过好多方案,曾陷入深渊准备放弃。最后还是坚持下来了。

在这里写篇博文。把我近期的遇到的困难和做client 的基本思路列出来,希望可以帮助哪些做相似项目的开发人员们!

以下是hadoopclient简单的需求:

1、可以实现主要的文件存储操作,上传、下载、删除、重命名、分类、创建目录、分享等功能。

2、可以执行在多操作系统下:Windows 、Linux、Mac os 以及类Unix操作系统。

3、可以有实现上千client同一时候操作,实现高并发server。

4、实现够有良好的用户体验,可以參考百度云盘、360云盘界面。

5、client要简洁明了最好不要依赖其它的软件。


选择开发语言:

java开发语言:

搭建见过hadoop分布式文件系统的开发人员都知道,hadoop是基于java语言开发的,对java 的支持非常好。假设能用java开发岂不是最简单的方法吗?看是这种,在网上找着了,hadoop 提供的Java API确实非常全面。用起来也非常方便,包含java第三方的java包也非常多。很多东西都不须要自己实现。

经过两天的实验Java有个致命的弱点,就是对桌面应用的支持不是非常好。开发出来的界面非常不美观,并且还依赖

庞大的java虚拟机。用云盘client用户来说是一个不小的挑战。

java开发语言直接宣告失败!


C++开发语言:

用C++开发语言还是一个不错的选择,C++可以做非常漂了GUI。跨平台当仁不让的要选择QT了。就是C++怎么操作hadoop分布式文件系统呢?这是一个非常大的问题,在网上查了好久。找到了libhdfs,通过c、c++訪问hdfs的API。

不查不知道一查下一跳。libhdfs有非常大的局限性:

首先libhdfs是不支持在Windows下开发的。

其次libhdfs是基于java JNI技术的。用的是用C、C++调用java。也就是说libhdfs底层还是调用的java。仅仅只是是对java的api安装C语言的方式又封装了一次。看不到java 的哪些东西了,可是还是要依赖java虚拟机,还要配置一大堆的环境变量。

这样看来似乎不能找到解决方式了 。。

转载于:https://www.cnblogs.com/zhchoutai/p/8443012.html

最后

以上就是羞涩纸飞机为你收集整理的hadoop云盘client的设计与实现(一)的全部内容,希望文章能够帮你解决hadoop云盘client的设计与实现(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部