搭建私有云平台: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的未来很值得期待 。可能需要时间的沉淀 。

搭建私有云平台:Hadoop还是选择OpenStack?

文章插图
Spark和Flink的对比 。Apache Flink现在在大数据处理方面能够和Apache Spark分庭抗礼么这个问题的最佳答案质量很棒 。转载自知乎 。翻译的这篇文章:Introduction to Apache Flink for Spark Developers : Flink vs Spark
最后 。上一张网易猛犸大数据平台架构图 。供参考 。
搭建私有云平台:Hadoop还是选择OpenStack?

文章插图
其他观点:
Hadoop和OpenStack两个不同维度东西 。Hadoop是用来做大数据处理的 。OpenStack是用来做IaaS云管理平台的 。如果只是运行小规模Hadoop 。跑在物理服务上就可以了 。如果运行大规模Hadoop 。可以考虑部署到OpenStack私有云上 。不建议为了Hadoop这个业务部署一套OpenStack私有云 。因为部署OpenStack私有云需要成本的 。有兴趣 。可以关注我的头条号:未名小宇宙 。
其他观点:
hadoop适合几百台电脑联合处理数据的大型应用 。电脑少时体现不出优势 。反而耗费资源却效率不高 。
【搭建私有云平台:Hadoop还是选择OpenStack?】润乾集算器是个不错的大数据计算引擎 。资源投入很少 。性价比相当高 。而且开发语言十分简洁易懂 。目前已在很多企业大数据计算中得到了应用 。比如北京银行、国家电网、油田环境监测数据处理等

    推荐阅读