是选择在IaaS平台上搭建,还是打算搭建在自己公司的服务器上?还是直接采用NAS相关的解决方案
二、其他软件需求的确定:对私有云存储软件有什么要求?
文档管理、文件预览上有什么要求?
是否有权限控制要求?或者内部流程管理要求?
完全内网部署还是公网部署?是否联网对功能实现有没有影响?
软件挑选以哪方面作为侧重点?安全,易用,权限,还是分享
三、私有云存储软件的挑选
推荐owncloud、seafile、kodexplorer可道云这三款吧,都是比较典型的软件,基本上各有特点,可以根据步骤二中自己公司的需求看侧重哪一个。比如,侧重安全和同步可以选seafile,稳妥大牌可以选owncloud,注重易用可用性、在线文档编辑预览等可以选择kodexplorer可道云。
楼主可以把这三个都下载了做下测试,反正也用不了多少时间。
更快的方式是看看有没有官方demo体验下。
四、私有云存储软件的搭建
这个基本上都差不多,基于php,比较轻量。
搭建私有云平台:Hadoop还是选择OpenStack?
首先建议题主描述清楚应用场景,否则别人做的方案可能都不符合需求。
就Hadoop和OpenStack的纠结而言,支撑数据分析用前者,做资源管理用后者。
=================补充=============
题主的需求,实质是搭建一个IoT实时大数据平台,而不是一般意义的私有云。IoTa大数据平台除了数据采集和结果反馈,其余部分和一般的大数据平台相差不多。OpenStack长于管理VM资源管理,Hadoop长于批处理,不擅长实时处理,所以需要寻找一种更加完善的解决方案。这里推荐考虑Storm或者Apache Flink。
OpenStack是一个开源的IaaS实现,由Nova、Cinder、Neutron、Swift、Glance等一系列相互关联的子项目组成,可以理解为云计算领域的Linux。OpenStack架构松耦合,高可扩展,能适应不同企业的需求,已经成为IaaS私有云事实标准。国内外各大厂都在OpenStack上有很大的投入。当然项目成长的同时,也受到大厂博弈的一些影响,但项目本身就是大家求同存异的结果,我们相信OpenStack会在竞合中有更美好的未来。
大数据平台可以完全不鸟OpenStack,分布式文件系统有HDFS,资源调度和管理YARN就行。YARN都已经支持Docker,希望细粒度调度模式可以考虑Mesos,Mesos提供良好的API,支持很多成熟的框架,不过Mesos不在Hadoop生态中,这是一个缺憾。Apache Hadoop能够以低成本进行海量数据的多维统计分析,还是很有优势。
核心流式计算部分,有Storm、Spark、Flink可以选择。
Storm编程模型简单,毫秒级延迟,容错性、扩展性和可靠性都比较好,在国内有很多团队采用。不过Storm只是流计算框架,且不能直接利用YARN。
Apache Spark是和Hadoop一样流行的开源大数据框架,社区活跃,在流计算、图处理、机器学习方面都投入很大,支持对SQL的优化,很适合多种大数据平台的需求,不过Spark Streaming本质还是批处理,把数据流分解成一系列小的RDD,通过时间窗来控制数据块的大小,有测试说只能支持秒级计算。
Apache Flink是可扩展的批处理和流式数据处理的数据处理平台,能够基于同一个Flink运行时提供支持流处理和批处理两种类型应用的功能。不同于Spark,Flink把批处理当初特殊的流处理,并且支持增量迭代,这是非常赞的设计,可以快速地处理数据密集型和迭代任务,性能很有保证。不过目前Flink用户群和社区还没有Spark那么强大。但Flink的未来很值得期待,可能需要时间的沉淀。
Spark和Flink的对比,Apache Flink现在在大数据处理方面能够和Apache Spark分庭抗礼么这个问题的最佳答案质量很棒,转载自知乎,翻译的这篇文章:Introduction to Apache Flink for Spark Developers : Flink vs Spark
最后,上一张网易猛犸大数据平台架构图,供参考。