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

想搭建一个私有云平台,主要是用于机器人工作站的各种传感器、相机等传感设备对工业作业现场环境数据的采集和实时处理,为机器人的运动提供决策。传感器采集的数据量大且该系统希望实时性较好,所以希望数据处理等过程快而准确。
Wind提问于 2018-01-21 16:37
1 个回答
  • 马甲2018-01-22 00:30

    就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



    最后,上一张网易猛犸大数据平台架构图,供参考。