如何使用OpenStack,Docker和Spark打造一个云服务
IBM中国研究院高级研究员陈冠诚主要从事Big Data on Cloud,大数据系统性能分析与优化方面的技术研发。负责和参与过SuperVessel超能云的大数据服务开发,Hadoop软硬件协同优化,MapReduce性能分析与调优工具,高性能FPGA加速器在大数据平台上应用等项目。在Supercomputing(SC),IEEE BigData等国际顶级会议和期刊上发表过多篇大数据数据处理技术相关的论文,并拥有八项大数据领域的技术专利。曾在《程序员》杂志分享过多篇分布式计算,大数据处理技术等方面的技术文章。以下为媒体针对陈冠诚的专访:
问:首先请介绍下您自己,以及您在Spark 技术方面所做的工作。
陈冠诚:我是IBM中国研究院的高级研究员,大数据云方向的技术负责人。我们围绕Spark主要做两方面的事情:第一,在IBM研究院的SuperVessel公有云上开发和运维Spark as a Service大数据服务。第二,在OpenPOWER架构的服务器上做Spark的性能分析与优化。
问:您所在的企业是如何使用Spark 技术的?带来了哪些好处?
陈冠诚:Spark作为新一代的大数据处理引擎主要带来了两方面好处:
相比于MapReduce在性能上得到了很大提升。
在一个统一的平台上将批处理、SQL、流计算、图计算、机器学习算法等多种范式集中在一起,使混合计算变得更加的容易。
问:您认为Spark 技术最适用于哪些应用场景?
陈冠诚:大规模机器学习、图计算、SQL等类型数据分析业务是非常适合使用Spark的。当然,在企业的技术选型过程中,并不是说因为Spark很火就一定要使用它。例如还有很多公司在用Impala做数据分析,一些公司在用Storm和Samaza做流计算,具体的技术选型应该根据自己的业务场景,人员技能等多方面因素来做综合考量。
问:企业在应用Spark 技术时,需要做哪些改变吗?企业如果想快速应用Spark 应该如何去做?
陈冠诚:企业想要拥抱Spark技术,首先需要技术人员改变。是否有给力的Spark人才会是企业能否成功应用Spark最重要的因素。多参与Spark社区的讨论,参加Spark Meetup,给upstrEAM贡献代码都是很好的切入方式。如果个人开发者想快速上手Spark,可以考虑使用SuperVessel免费的Spark公有云服务,它能快速创建一个Spark集群供大家使用。
问:您所在的企业在应用Spark 技术时遇到了哪些问题?是如何解决的?
陈冠诚:我们在对Spark进行性能调优时遇到很多问题。例如JVM GC的性能瓶颈、序列化反序列化的开销、多进程好还是多线程好等等。在遇到这些问题的时候,最好的方法是做好Profiling,准确找到性能瓶颈,再去调整相关的参数去优化这些性能瓶颈。
另一方面,我们发现如果将Spark部署在云环境里(例如OpenStack管理的Docker Container)时,它的性能特征和在物理机上部署又会有很大的不同,目前我们还在继续这方面的工作,希望以后能有机会跟大家继续分享。
问:作为当前流行的大数据处理技术,您认为Spark 还有哪些方面需要改进?
陈冠诚:在与OpenStack这样的云操作系统的集成上,Spark还是有很多工作可以做的。例如与Docker Container更好的集成,对Swift对象存储的性能优化等等。
问:您在本次演讲中将分享哪些话题?
陈冠诚:我将分享的话题是“基于OpenStack、Docker和Spark打造SuperVessel大数据公有云”:
随着Spark在2014年的蓬勃发展,Spark as a Service大数据服务正成为OpenStack生态系统中的新热点。另一方面,Docker Container因为在提升云的资源利用率和生产效率方面的优势而备受瞩目。在IBM中国研究院为高校和技术爱好者打造的SuperVessel公有云中,我们使用OpenStack、Docker和Spark三项开源技术,在OpenPOWER服务器上打造了一个大数据公有云服务。本次演讲我们会向大家介绍如何一步一步使用Spark、Docker和OpenStack打造一个大数据公有云,并分享我们在开发过程中遇到的问题和经验教训。
问:哪些听众最应该了解这些话题?您所分享的主题可以帮助听众解决哪些问题?
陈冠诚:对如何构造一个大数据云感兴趣的同学应该会对这个话题感兴趣,开发SuperVessel的Spark as a Service服务过程中我们所做的技术选型、架构设计以及解决的问题应该能对大家有所帮助
企业想要拥抱Spark技术,首先需要技术人员改变。是否有给力的Spark人才会是企业能否成功应用Spark最重要的因素。多参与Spark社区的讨论,参加SparkMeetup,给upstream贡献代码都是很好的切入方式。如果个人开发者想快速上手Spark,可以考虑使用SuperVessel免费的Spark公有云服务,它能快速创建一个Spark集群供大家使用。
从一项颠覆性的技术成果转化并衍生出一整套社区体系,Docker在发展速度上打破了一个又一个历史纪录。然而,Docker项目在采纳与普及方面表现出惊人态势的同时,也给我们带来了一系列疑问与困惑。在今天的文章中,我希望将注意力集中在朋友们最为关注的评论议题身上。随着Docker项目在人气方面的持续飙升,很快刚刚接触这一新生事物的读者在实践过程中不禁产生了这样的疑问:如果已经决定使用Docker,是否还有必要同时使用OpenStack?在给出自己的观点之前,我打算首先就背景信息入手为各位进行讲解,从而更为透彻地认清这个命题背后所隐藏的理论基础。背景信息从最为简单的构成形式出发,Docker实际上旨在提供一套能够在共享式基础设施之上对软件工作负载进行管理的容器环境,但同时又确保不同负载之间彼此隔离且互不影响。以KVM为代表的虚拟机系统所做的工作也差不多:创建一套完整的操作系统堆栈,通过虚拟机管理程序将与该系统相关的设备囊括进来。然而与虚拟机解决方案的区别在于,Docker在很大程度上依赖于Linux操作系统所内置的一项功能——名为LXC(即Linux容器)。LXC利用内置于操作系统当中的各项功能将不同进程的内存进行划分,甚至能够在一定程度上拆分CPU与网络资源。Docker镜像不需要像一套全新操作系统那样进行完整的引导过程,这样一来软件包的体积就能得到大幅压缩、应用程序运行在共享式计算资源之上时也将具备更为显著的轻量化优势。除此之外,Docker还允许工作负载直接访问设备驱动程序、从而带来远超过虚拟机管理程序方案的I/O运行速度。在这种情况下,我们得以直接在裸机设备上使用Docker,而这就带来了前面提到的核心问题:如果已经使用了Docker,我们还有必要同时使用OpenStack等云方案吗?前面的结论绝非信口开河,BodenRussell最近针对Docker与KVM等虚拟机管理程序在性能表现上的差异进行了基准测试,并在DockerCon大会上公布了测试结果。清华得实netst 2100的使用说明书谁有呢?麻烦给一份吧~万分感谢!_百度知...
NetST2100 性能参数NetST2100 系 列 性 能 参 数 表 符合标准:符合国标GB\/T 18019-1999,《信息技术包过滤防火墙安全技术要求》最新版本 3.3.6 产品型号 NetST2100 机箱外型 标准1U,19”标准机箱 硬件 终端控制口 RS-232C(1个)以太网接口 基本 3\/4个10\/100M铜缆以太网接口。电气性能 a....
通达信去掉 *ST 的选股公式,如何编写呢?
1,去ST股:=EXIST((C-REF(C,1))\/REF(C,1)*100>5.6,100); 去停牌:=DYNAINFO(4)=0; 去ST股 AND 去停牌 ;其实st股就是涨幅不大于5%的股票,只要在100天内的最大涨幅不高于5%,就几乎包含了绝大部分的st股票了,如果觉得还不精准,可以加大天数 去ST股赋值:最近100日存在(收盘价-1...
股票指标公式怎么用呀
ST:=REF(UP,1)>REF(UP,2) AND DOWN<REF(UP,1);STICKLINE(ST,10,9,5,0),COLOR008800;STICKLINE(ST,10,9,2,0),COLOR00AA00;STICKLINE(ST,10,9,1,0),COLOR00CC00;STICKLINE(ST,10,9,0.2,0),COLOR00FF00;DRAWTEXT(ST,9,'卖'),COLOR00FF00;DRAWTEXT(CURRBARSCOUNT=89,9.5,'...
什么是OC门?其主要功能是什么?各功能应用的注意事项有哪些?
OC门,又称集电极开路(漏极开路)与非门门电路,Open Collector(Open Drain)。为什么引入OC门?实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路--OC门来实现“线与逻辑”。OC门主要用于...
使用CLion进行单片机开发和调试
要使用Clion进行单片机开发,首先需要下载并安装一系列必要的开发工具,包括STM32CubeMX、Clion、OpenOCD、GCC(arm-none-eabi)以及ST-Link驱动程序。确保安装了这些工具后,将其bin目录添加到环境变量中,通过执行命令-v来确认所有工具的安装状态。接着,我们需要使用STM32CubeMX生成项目。打开软件,选择...
plcopenPLCopen
它定义了四种互操作编程语言:SFC(顺序功能图)、IL(指令表)、LD(梯形图)和FBD(功能块图),以及ST(结构文本),为软件开发的各个阶段,如技术规范、设计、实现、测试、安装和维护,提供了通用框架。通过将程序分解为逻辑元素并采用模块化设计,现代软件技术的应用使得PLCopen标准的程序具有高度的重用性,...
...烧录的几种方式介绍Keil5_MDK、串口FlyMcu、ST-LINK Utility_百度...
3、设置步骤:①先在电脑上安装STM32 ST-LINK Utility,软件安装一路Next就可以了,安装好软件之后界面如下;②下载程序只需要使用3个图标就可以了:第一个图标Connect to the target,用来连接器件,在硬件连接正确的情况下,会读出器件的ID号,以及一些其他信息;第二个图标:Open file,点击这个图标,...
keil5用stlink硬件调试可以查看main函数变量吗
3、在弹出的“Debug(ST-LINK)”对话框中,选择使用ST-Link调试器,然后单击“OK”按钮。4、在Keil5的调试界面中,单击“View”菜单,然后选择“SerialWindows”->“Debug(printf)Viewer”菜单,以打开DebugViewer窗口。5、在DebugViewer窗口中,单击“File”菜单,选择“Open”命令,然后选择要打开的...
linux中cp命令如何用 C语言实现
1,首先需要了解cp的原理。2,可以参考cp的源码去了解其原理 3,cp命令的源码可以在linux内核中找到。4,或者下载busybox其中也会有cp的源码 只有了解其原理之后才能谈如何实现。参考代码如下:include <stdio.h>#include <stdlib.h>#include <sys\/stat.h>#include <sys\/types.h>#include <fcntl.h...
英语短语
229. make the best of 充分利用230. make certain 弄清楚231. make up one's mind 决定,下决心232. make up one's minds 决心,下决心233. make tea 泡茶234. make coffee 冲咖啡235. make off 逃跑,匆匆离开236. open a.开的;开放的 vt.开237. open to the public 向公众开放238. open traffic ...
范昨妇科: 1)先安装OpenStack的环境,几种方法 第一种方法:先安装docker,下载openstack的镜像,关于docker的使用资料Docker资料 网上搜索一下,很多,比较容易学习和使用 第二种方法:使用fuel来安装 Fuel 30 分钟快速安装OpenStack2)安装后,先去熟悉如何应用OpenStack3)建议你先从horizon模块开始研究源码,边研究,边试着做些修改,这样切入比较容易点,千万别以上来就去啃nova neutron模块,难度太大,不太容易切如进去4)开发环境可以考虑 pychorm devstack
海兴县19540953131: openstack是怎么使用的 - ?
范昨妇科: 当你开始使用OpenStack,基本上都是从一个已搭建好的环境入手,别人(operator)会告诉你horizon登录的租户名、用户名和密码.horizon登陆页 但毕竟horizon不会封装OpenStack的所有特性,当你已经玩腻了页面上那些功能时,你想尝...
海兴县19540953131: 网站openstack.org是用来干什么的?怎样用它? - ?
范昨妇科: OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用.OpenStack 是开源项目
海兴县19540953131: 如何借助OpenStack命令行工具管理虚拟机 - ?
范昨妇科: 我在本教程中将演示如何从命令行,在OpenStack上创建或终止虚拟机.这个过程是在Havana版本的OpenStack中进行测试的.至于像OpenStack Folsom这些早期的OpenStack版本,你只要将本教程所用的命令行中的“neutron”换成“quantum”即可. 姑且假设部署的一套OpenStack系统已在某处构建并运行起来.我要使用OpenStack CLI客户程序,在现有的OpenStack系统上管理虚拟机.
海兴县19540953131: 如何在windows下安装openstack的依赖包 - ?
范昨妇科: 本文主要讲述在windows系统中如何安装openstack源代码的依赖包,以便于在windows操作系统下进行源码阅读.为了可以在windows下阅读openstack源码,首先我们需要在windows系统下安装python2.7.安装好后将python目录配置到系统的...
海兴县19540953131: 如何开始使用OpenStack命令行和API - ?
范昨妇科: 这个课程是openstack入门课程,重点放在openstack的部署和网络部分.课程强调实际的动手操作,使用vmware模拟实际的物理平台,让大家可以自己动手去实际搭建和学习openstack.课程...
海兴县19540953131: 如何使用API创建OpenStack虚拟机 - ?
范昨妇科: 1:设置安全组 (security group)这是相当于打开防火墙端口,允许ssh和ping虚拟机.这是重点,不设置这个,你基本是无法访问到虚拟机.经常有朋友问,虚拟机在跑着,如何访问. 2:创建keypair创建完后,会把私钥下载到本地
海兴县19540953131: openstack 如何启动实例 - ?
范昨妇科: 1. 使用命令:nova boot --flavor 1 --key_name mykey --image 9e5c2bee-0373-414c-b4af-b91b0246ad3b --security_group default cirrOS 其中:flavor是虚拟机的配置,比如说内存大小,硬盘大小等,默认下1为最小,4为最大.key_name是创建虚...
海兴县19540953131: 如何使用devstack配置openstack - ?
范昨妇科: devstack是一套用来给开发人员快速部署Openstack开发环境的脚本,其实对于整个安装过程没有什么好说的,因为脚本写的很完善,全程无脑式安装也没什么大问题,但是因为公司里的网络环境不给力,我的安装过程中还是遇到不少问题,在...
海兴县19540953131: openstack安装怎么创建虚拟机 - ?
范昨妇科: 1、由于openstack的各种服务都需要经过授权才能够使用,而在授权过程中会使用到OS_PROJECT_NAME,OS_USERNAME和ADMIN_PASSWORD三个openstack环境变量,devstack为我们提供了设置这三个变量的openrc脚本,因此只需devstack目录下运行openrc脚本即可完成这些配置.以下从openrc中截取的片段是默认的设置和运行openrc的方法:我们可以在终端中执行source openrc admin admin配置这些变量.如下图:此处WARNING的输出是正常的.