1. 首页
  2. 社会

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

首先建议题主描述清楚应用场景,否则别人做的方案可能都不符合需求。就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

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

阿里云的飞天系统大家了解一下,从阿里云的飞天系统,而讲起飞天系统,最大的亮点,那就是所谓的“5k”。管中窥豹,我们也可以看出,阿里云在他身上投入了多少的人力物力和技术投入,豪不谦虚的说,应该是BAT中最大的了,

虽然AI处在浪潮之巅,但是目前云计算被证明可以落地见效果,正在向传统行业渗透,市场空间广阔。以IaaS为例,分为公有云、私有云、混合云,估计有70%的企业会上公有云,根据IT规律,公有云将会被几个大厂商垄断,这些厂商使用自己的云技术,与OpenStack没有直接关系,但可以参考OpenStack架构理念。受行业限制,会有30%的企业会上私有云,私有云采用OpenStack是趋势,私有云,可以当甲方,维护OpenStack平台环境,也可以当乙方,输出OpenStack平台技术。要想成为OpenStack大咖,需要懂业务、懂原理、懂开发、懂运维、懂社区贡献。成为大咖之后,你选择空间非常广阔,云计算薪酬比其他方向高50%,当然比AI低50%。欢迎关注我的头条号:未名小宇宙

阅读本文不是很简单,因为需要知道云计算是什么,什么是私有云,什么是openstack?我们知道openstack可以搭建公有云,私有云。这个显的很神秘。其实本质都是一些操作,如同我们通过使用说明书,能够学会使用一个软件一样。对于私有云在什么情况下使用可以查看私有云场景:为什么需要私有云?我们可以带着下面问题来阅读:1.部署openstack硬件该如何选择?2.如果各个分公司都能够使用私有云,该采用什么网络模式比较好?3.能否总结出该如何搭建私有云?如何建设私有云?

在最开始部署我们的私有云服务时,我常常纠结的两个问题是:需要新的硬件设备吗?旧的硬件怎么办?最后,得出的结论就是在OpenStack APAC讲的那句话:立足现有装备,打赢未来战争。所以从现有阶段来看,瞬联在私有云硬件成本的投入几乎为零。因为现有的硬件资源完全满足项目需求,我为什么要购置昂贵的硬件设备呢?但并不意味着我们永远不购置新的硬件设备,从一个长远的发展来看,我们的策略是:随着项目逐步迁移到云中,根据实际的需求购买更好的硬件设备,逐步淘汰耗电大,占空间的老旧设备。 因为我们毕竟不像那些预算充裕的大公司,可以随意购置新设备。所以我们的解决方案针对的是像我们一样,花自己的钱,又想构建私有云的中小企业。

网络规划&高可用

好了,开始说点干货吧。先上一张拓扑图:

我们选用的OpenStack网络是传统的VLAN方式,并没有使用Quantum,这是因为在Essex版本时,Quantum还不是正式的模块,所以到了Folsom版本,我们延续了原有的VLAN方式。VLAN方式很好的实现了各个项目之间的隔离,保证了安全性。 为了能够让各个分公司都能够使用私有云,我们先划定了一条各个分公司都能够访问的VLAN作为提供公共服务的网段,再划定一条VLAN作为虚拟机内部通讯的网络。同时在相关交换机上预留VLAN ID 800~850,50条VLAN与OpenStack内部VLAN相对应,同一VLAN下虚拟机之间通讯不受影响。通过这些手段,保证了无论我们的计算节点位于哪一层的机房,都可以进行通讯。 在图中,最左侧为控制节点,其中OpenStack控制节点和网盘应用形成MySQL集群,用于实时备份数据,任意一台出现问题之后,另外一台可以快速作为对方的备份节点。下面的一台是为了提供自动部署的服务器。 中间靠上的两台服务器,分别提供镜像和卷服务,利用GlusterFS形成冗余,并可互为灾备节点。因为GlusterFS并不支持块设备,所以这里用到的Cinder驱动为NFS。中间的服务器代表一个机房中的某几台服务器形成一个Zone,这个Zone专门为CL这个项目组提供虚拟机服务。中间靠下的服务器是SWIFT服务器,作为网盘的后台。 最右边的服务器,代表OpenStack控制节点所在机房如何和另外一个机房的服务器连接。那么这几台服务器形成一个独立的区域,为整个瞬联内部提供服务。 监控方案采用Nagios,对主机性能及关键进程形成监控,后期准备在已有的Nagios OpenStack Plugin基础上增加一些关键指标的监控。

部署

我们当前采用的OpenStack版本为定制版Folsom,底层操作系统为Ubuntu 12.04 64bit Server版本。操作系统采用kickstart实现推送,本地缓存了所有DEB包,无须网络安装。IT人员只须设定好网络地址,之后由Fabric脚本完成主机名、NTP、Puppet等基础软件的安装。 因为是我们定制的版本,所以市面上所有的部署方案基本都是不适用的,我们基于dodai-deploy,开发了可以部署我们自己软件的版本,并且将所有的数据库全部默认使用MySQL(默认的dodai-deploy只有nova是使用MySQL数据库)。

我们全新部署一台计算节点的时间,从裸机到能够使用大致为30分钟之内。

定制化

还是先上一张图:

凡是有蓝色的模块是我们定制过的模块和增加的模块,主要集中在Keystone、Nova、以及Horizon三个模块,在Cinder中增加了关于NFS驱动层的三个方法。 Nova是我们最早开始改动的模块,为了实现对于虚拟机申请的控制,我们增加了一张表用于存放用户所有申请及状态。之后增加Flow api用于实现相应的请求。最后,增加了nova-flow服务用于通知用户虚拟机过期和删除过期的虚拟机。这样配合Horizon的改动,就可以完成了对虚拟机申请流程的控制。

可供申请的虚拟机列表

用户申请页面,增加申请天数、区域等信息

在Keystone中,为了实现Zone和项目绑定的目的,我们增加了相关方法,并且增加了一个新的角色ProjectAdmin,用于在某一个项目中,完成用户虚拟机申请的审批工作。因为OpenStack主要是针对公有云的开发,所以暂时没有把这部分代码提交到社区。

管理员可以设置Project允许生成虚拟机的区域

Cinder中,因为NFS驱动中,并没有生成卷镜像和从卷镜像生成新镜像的方法,所以这部分代码,正准备提交到社区。

网盘应用

网盘应用基于OpenStack Swift API开发的。提供在线文档、图片浏览、群组分享功能,现在支持的格式:DOC/XLS/PPT/PDF/PNG等多种常见的文档和图片格式。我们准备在近期将我们的版本开源,回馈社区。还是图片最容易说明问题,继续上图:

用户登陆后的页面,私人空间

8.png (181.4 KB, 下载次数: 0)

下载附件 保存到相册

2014-2-18 15:33 上传

在线浏览功能

虚拟化桌面应用

虚拟化桌面包括VDI Broker以及Visual两个部分,Broker主要负责处理RDP协议解析以及和Visual交互,而Visual则完全负责资源分配。VDI同时支持添加虚拟机和物理机,现阶段暂时需要云管理员对所有可用服务器进行配置,在下一个阶段将根据需求启停虚拟机。如果用户使用的是虚拟机,那么在用户登陆后,自动挂载一块用户硬盘,用户保存在此硬盘的所有资料,在下一次使用VDI服务时仍然存在。还是来看图:

架构图

标准的RDP客户端连接

用户选择要使用的资源池,完成连接

结语

在半年的内部运行中,系统非常稳定,随着新功能的不断更新,内部的用户也愿意使用云平台服务。各个项目的负责人也积极的将项目的开发、测试环境放到云中运维,而这也直接帮助他们更好的控制项目进度,缩短准备周期。我们相信随着我们不断的努力,一定能让企业私有云在我们的企业日常生活中发挥越来越重要的作用。 对于上面的内容你是否对于私有云搭建,有了一定的认识作者:RaySun

云计算正在向传统行业渗透,市场空间是广阔的。预计将有70%的企业上公有云,根据IT规律,公有云将会被几个巨头垄断,华为也在积极做公有云,是基于OpenStack二次开发的。另外,将有30%的企业上私有云,私有云选择OpenStack是趋势,华为也在进攻私有云市场。在OpenStack社区贡献方面,华为还是很靠前的,纯从公司价值和技术角度看,还是值得去的,27岁不成问题。有兴趣,可以关注我的头条号:未名小宇宙

一。现在openstack基本只有中国人玩了,美国的大公司基本都已经放弃。这里面原因很多,很简单一个道理是,你想想你还在努力在修4.0版本的时候,开源社区和你说已经更新到6.0版本了,具体你看看谷歌的android就知道。现在openstack也只有这些在玩。其中包括我们熟悉的国内两家,华为和腾讯。

下面附一些OpenStack的失败案例

1、2012年6月,美国国家航空航天局NASA宣布选择亚马逊旗下的AWS作为云计算服务商。

2、2015年10月,惠普宣布将在2016年1月31日关闭Helion公有云服务(基于OpenStack),退出与亚马逊和微软的竞争。

3、2016年2月,思科公司宣布将于2017年3月正式停止其基于

OpenStack的公共云服务Intercloud。

4、2016年8月,Rackspace以43亿美元完成了被ApolloGlobalManagement的收购,实现私有化。(OpenStack研发公司都给人收购了)

5、2017年4月,英特尔决定不再投资2015年7月与Rackspace合作成

立的OpenStack创新中心。

6、Mirantis是OpenStack项目的创始公司之一,Mirantis联合创始人鲍里

斯·伦斯基表示,公司裁掉了约100名OpenStack开发者,并更加专注在PaaS

层面和加强对开源容器编排项目Kuberentes的力度。

二、可以发现,其实OpenStack是一个逐渐给淘汰的云操作系统,像现在的全球前十大云计算厂商,就都是采用自研的,亚马孙AWS,微软Azure,阿里云飞天等。

三、自研有什么好处?系统保持最新,不会因为开源社区的迭代,厂商被开发的系统就会永远是旧版本,具体类比你看android就知道了,谷歌已经出6.0时代,还有很多手机厂商还在推4.0系统的手机,因为我4.0才刚刚优化好,你跟我说6.0?开玩笑吗?然而用户当然希望能用上6.0操作系统给的手机,道理就这么简单。

小平台,基于开源来做是一个最好的选择了,事实上,国内只有阿里重新写了代码,单但是,投资巨大。

感谢邀请

本文的重点:对于容器公司来说,可以选择很多方式来玩,搞OpenStack是一件锦上添花的事情。对于OpenStack厂商来说,搞容器,可是生死攸关的事情。

众所周知,openstack的部署难度一直很大,即使从事相关工作多年,也不敢说是无论openstack的哪个版本都能安装。

至于容器是什么或者openstack是什么?这里就不赘述了。

我认为openstack和docker结合有以下好处

1.高效的部署方式

在我的问答里面有关于如何部署openstack(P版)的教程,当时那个教程就是利用docker来部署的。一般安装好操作系统的情况下,采用容器来部署的话,基本半个小时就能构建openstack。

2.完美升级

相信做过openstack部署的都了解,openstack的版本基本是半年一更新,在已经部署好集群的情况下升级的话,难度很高,而且也不能模拟生产环境进行测试。docker的升级方式堪称完美,只需要删掉原来的容器,启动新的容器,如果升级有问题,直接回滚原来的容器,在这些操作下,用户基本感觉不到。

3.openstack组件的灵活部署

一般的部署方式都会采用三个控制节点来解决HA,但是我想要5个怎么办?再比如我想把ceilometer(openstack的一个计量服务)单独部署出来怎么办?这些都是很难的任务。

如果和docker结合了以后,就很简单了,无非就是调整各个节点的容器分布,编排的问题。控制节点是3个,还是五个,rabbitmq放在什么位置,根本就不是问题。

4.降低了对操作系统的依赖

如果openstack集群采用了centos/redhat以后,想要换成Ubuntu,这个问题就很棘手了。但是把openstack与容器相结合以后,理论上,就可以摆脱操作系统的限制,因为只要你的操作系统能部署容器环境,那我的openstack集群就能安装。

5.纯净的系统环境

如果是之前部署的openstack,将来有一天你要把集群删掉的话,基本上除了重装系统格式化没有很好的解决办法了。但是利用容器部署,物理机不会受到任何“污染”,部署完成之后,如果不想使用了,可以直接把所有的container清除掉,便可以重新回到原始的、干净的状态。

最后,openstack与容器的结合是趋势,而且最新的多个版本已经都带了docker的管理。

以上就是我认为openstack与容器结合流行的原因,如果觉得有帮助可以点个赞或者关注,如果有不同观点或疑问欢迎留言讨论

本文来自投稿,不代表本站立场,如若转载,请注明出处。