Docker压力容器退火炉为什么这么火

Docker容器为什么这么火?Docker容器为什么这么火?出彩人百家号前言:docker从默默无闻到一夜成名,基本是很快地做到了,从去年很多大公司都从原来的硬件虚拟化技术转型成为docker容器化,这其中到底是为什么呢?docker的创始人docker创办人(CTO)Solomon Hykes,曾今和我们一样也是网瘾少年,喜欢打电动,而他的编程人生也是从电动培养的兴趣,曾今还在法国的电影公司打工。身体里流动着美国的奔放与法国的浪漫,酷爱机车。外表的粗犷让人总以为是社会大佬,但据Forbes采访,Solomon Hykes七岁就开始编程,但最初只是为了游戏。由于经常在附近网吧打电动,因此也获得了人生第一份工作---免费运维网吧服务器。Hykes不平凡的事业旅程,从他青少年时期在法国做服务器管理员,到如今已成为一家最火的新创公司的创始人兼CTO。docker的初始31岁的Hykes,2010年从美国知名的创业孵化器Y Combinator毕业后,建立的新创企业叫DotCloud。这个软件提供开发者平台在亚马逊的云端上编程,成功募资1100万美元,投资人包括了Yahoo创办人杨致远。DotCloud的商业模式为:以多语言PaaS为卖点,使得用户可以选择不同的开发组件和语言来运行程序。但DotCloud的客户逐渐成熟饱和,而亚马逊自己的支持已经强化,意味DotCloud的成长变得缓慢,有些人开始取消对他们的投资。董事会花了数月寻找有经验的运营者。早期投资人Peter Fenton说DotCloud在2012年的挣扎,像温水煮青蛙。直到他们找到了Golub,转机开始来到。Golub同意Hykes的想法,认为要做点大胆举动。“不然,他们就要在水中溺死了。”Peter Fenton贴切地形容。于是新CEO Golub赌上银行存款中最后的500万美金,大胆压注在Docker以及“容器”的技术概念上。因为Hykes在运作DotCloud过程中,发现多平台的需求越来越受到用户的关注,成为构建Docker的灵感。最后,他们跨出更大胆的一步──大家都知道的:开源,一举让Docker成为今日之星。docker发展从2014年开始,Docker以位于操作系统之上的轻量级虚拟化方案和类似于版本管理的镜像管理模式,把云计算从早间的IaaS资源交付模式向PaaS推进了一大步,越来越多的云服务提供商也开始提供更加灵活可控的PaaS服务,Docker在开发者中也大有取虚拟化而代之之势。在中国,基于Docker容器技术创业的公司也如雨后春笋般诞生,数人云就是其中的佼佼者。2014年9月,数人云成立并拿到百万美元天使投资;2015年11月,数人云第一版产品正式上线;2016年3月,数人云宣布公司完成3000万人民币A轮融资;2016年5月,数人云正式对外发布2.0版云操作系统。docker被如此多的国内公司推向神坛,到底docker有什么迷人之处呢?docker是什么Docker类似于集装箱,集装箱解决了什么问题?在一艘货轮上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要分门别类的船只。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船就可以把他们都运走。因此docker的优点有以下方面:1 docker提供了统一标准化的启停命令等,摆脱过去的脚本或者特定组件特定启动命令的窘境。2 集装箱式管理可以在某个容器挂掉之后,以最快的速度重新启动或者新建容器。3 docker的集群管理更加智能,对节点的启停工作,新建基本都可以智能化管理,不用人为操作4 单组件的容器为日后的“微服务”打下良好基础5 由于docker本质的没有OS或Kernel,所以在启动速度也是毫秒级别docker应用面对如今docker的飞速发展,阿里、新浪等众多技术厂商在自家技术都会有充分的应用,双十一淘宝的T4产品,在去年5月淘宝已经将所有核心应用全部升级为镜像化模式的Docker应用,等等。太多的公司应用,都在描述着docker优点,而众多厂商应用也同时推动着docker的日益完善。所以,我们有理由相信,docker在众多开发人员的使用过程中将会日益完善,大放光彩。本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。出彩人百家号最近更新:简介:记录生活百态,分享生活乐趣作者最新文章相关文章服务器控制面板拥抱容器技术,Docker 会不会更火? - A5创业网
扫一扫,联系编辑获得审核机会
符合以下要求,获得报道机会
1. 新公司求报道
2. 好项目求报道
3. 服务商求报道
4. 投资融资爆料
客服热线:400-995-7855
当前位置:&&&
服务器控制面板拥抱容器技术,Docker 会不会更火?
17:18&&来源:互联网&
  据最新消息,国际领先的控制面板 Plesk 于 10 月初推出了里程碑式的最新版本,即 Plesk Onyx。该版本有了质的飞跃,总体性能和稳定性上了一个新台阶,新增支持多服务器管理,功能推新上引入了多项当前最流行的应用技术,最引人瞩目的当推对近几年迅速蹿红的 Docker 容器技术的支持。
  Docker 容器就像个胶囊,能够以其它任何技术无法比拟的快速、低系统开销、高密度、可移植性等特性方便快捷地创建、部署和迁移应用和其依赖包,是广大开发员们理想的应用容器引擎,因而逐渐成为众多公司用户热追的对象,包括谷歌和微软等行业巨擘也热情拥抱 Docker。正是听到了广大用户对 Docker 的高呼声,Plesk 整合了 Docker 技术,反过来,可视化的 Plesk 服务器管理面板又是 Docker 完美的管理平台,通过其精美直观的图形界面,简化了 Docker 容器的部署和管理,操作设置更直观更简单。Docker 技术的火无疑会给Plesk 面板新增人气,而 Plesk能简化Docker布署和管理,两者结合,相得益彰。
  在 Plesk 中操作和设置 Docker 容器更简单
  在 Plesk 中操作 Docker 容器可视不费力
  Plesk 支持运行和管理基于指定的 Docker 镜像的容器,不仅支持在本机上使用 Docker 还支持在指定的远程机器上使用。Plesk 界面会同步显示来自 https://hub.docker.com/explore 的镜像,用户无需进入 Docker hub 库,可直接在Plesk 界面就能够享用各个版本的镜像。Plesk 与 Docker 整合后,您会发现在 Plesk 中查看容器运行情况以及操作容器更方便快捷。
  以上是 Plesk 中 Docker 模块的信息和操作界面。从控制台日志可以直观的了解当前容器的运行状况,并能够在右侧边栏中查看该容器的 ID 和映射端口,方便及时发现问题并进行相应补救措施。界面中间是对容器可执行的主要操作按钮。可以在该界面对当前 Docker 容器快速启动和停止,执行该等操作后,容器会按当前设置进行重新创建。要更新应用为更新的版本时需要重新创建容器,此时,可点击&重新创建&按钮手动操作,Plesk 支持使用目录中的任何应用版本重建容器。我们有时需要保存自定义设置的容器,Plesk 则提供&另存为镜像&按钮基于当前容器建立镜像。为了保存某个时间点的 Docker 容器数据集,我们还可以通过&下载快照&来保存容器当时的数据影像。在我们不需要当前容器时,可以一键点击&移除&消除该容器,不留任何内存垃圾。
  在 Plesk 中设置 Docker 容器直观不复杂
  Plesk 中的 Docker 容器设置页面设计得也非常人性化,直观,一点不复杂。根据页面中的提示勾选所需选项并填入相关信息即可实现主要设置。温馨提示,如果要更改容器设置,需要停止运行容器,保存新设置时,Plesk 会自动重新创建容器以反映新设置。在该页面可以根据喜好或需要重新命名容器。推荐勾选&系统重启后自动启动&选项,否则,在系统重启后,使用该容器的网站可能会中断,需要手动再启动该容器。在该页面设置端口映射非常方便,默认会启用&自动端口映射&,此情况下,容器的内部端口会被映射到主机系统上的任意端口(例如,32768)。也可以选择手动映射,将其映射到某个外部端口。Plesk 还支持卷映射,Docker 卷宗是被挂载到服务器上的 Docker 容器的目录,该目录是可以从主机系统进行访问的永久存储地址。Docker 卷宗中的数据可以备份,而且更重要的是,当您停止或删除容器时不会删除数据。最后还可以对容器的环境变量进行配置,Plesk 支持对现有环境变量进行编辑,也可添加任意环境变量,方便自由。
  在 Plesk 中管理 Docker 镜像,轻松无负担
  Plesk Docker 镜像目录页面支持对本地镜像进行管理,本地镜像(即在版本号后标记有本地字样的镜像,如 10.1.16 (本地))是由 Docker 在本地磁盘上存储的镜像。对于此类镜像无需从目录中下载,可直接使用。为了方便使用,用户可通过三种方式将远程镜像保存为本地镜像:选定镜像版本从 Docker Hub 下载镜像并本地保存;点击界面中间的&上传镜像&按钮将镜像上传到 Plesk 中的 Docker 目录里;基于 Docker 容器创建自定义镜像并本地保存。用户可在该 Docker 镜像目录页面查看某个镜像或所有镜像及其所占据磁盘空间的概况。如不再需要某个镜像可一键点击移除,还可以通过&清除所有镜像&按钮轻松移除所有不需要的镜像。
责任编辑:陈龙
延伸阅读:关键词:
微企点:海量精美模板 H5自助建站平台
扫描二维码关注A5创业网了解最新创业资讯服务
&徐州八方网络科技有限公司&版权所有&
举报投诉邮箱:
扫一扫关注最新创业资讯新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
家境小康, 积分 1320, 距离下一级还需 680 积分
论坛徽章:5
获奖名单已公布:
作为云计算的当红明星Docker 来势汹汹,它就像一场森林大火,这个新的Linux容器技术以它自己的方式点燃了周围的一切,我们许多人难以跟上它蔓延的速度。Docker不仅是历史上最流行的开源项目之一,而且也从根本上改变了人们构建应用程序的思维方式。
谈到容器,很少有人知道,但大多数人多年来一直在使用容器。为什么大家都追捧容器和Docker呢?谷歌就有自己的开源容器技术lmctfy(Let Me Contain That For You,意为“让我容纳你的程序”)。只要你使用谷歌的某项功能:比如搜索、Gmail、Google Docks或无论其他什么,就分配了一个新的容器。
Docker 是由 PaaS 提供商 dotCloud 在 2013 年创建的一款开源应用引擎,Docker的本质是Container,被形象地看作一个应用封装容器,以往开发者开发一款应用,需要考虑硬件、操作系统、运行环境的适配,有了容器就不用考虑这些了。现在开发者只需专注于开发软件,不需要考虑在哪运行自己的软件,这也是云计算的发展方向。Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
本期话题:
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?3.从架构的角度来讲,Docker主要由哪些组件组成?4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
活动时间:日-日
活动奖励:选取最佳会员若干名赠送技术图书一本
Docker.jpg (18.65 KB, 下载次数: 27)
16:37 上传
小富即安, 积分 2988, 距离下一级还需 2012 积分
论坛徽章:39
本帖最后由 forgaoqiang 于
21:15 编辑
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
Docker 和 Vmware ThinAPP原理类似,就是提供一个应用环境的容器,应用程序在容器中运行,具有自己的环境,而且Docker能够像Java一样提供一致的运行环境,屏蔽不同发型系统的差异性,而且方便应用的开发、回滚、测试。
这个是ThinAPP,Vmware的桌面级产品,用了好长时间,感觉就是好,能够在同一个系统下运行不同版本的同一个程序而毫无冲突,而且ThinAPP打包的应用具有良好的移动性,能够放到U盘等移动工具中,跑到另一台电脑直接运行。
package-deploy-diag.png (172.53 KB, 下载次数: 22)
13:27 上传
Docker也是类似的功能,而且是谷歌Go语言的成功之作,相比Vmware具有开源免费等先天优势。
docker-filesystems-multilayer.png (124.1 KB, 下载次数: 25)
13:27 上传
2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
虚拟化层次不一样,当然开销就不同,而且VM指的是Virtual Machine,是对整个系统的虚拟化,而Docker更像是Xen这种半虚拟化(应用虚拟化层次),既然不是一个重量级的,必然开销和效率不同。
另外隔离程度也是完全不同的,VM能够完全隔离不同操作系统的行为,Docker只是隔离程序之间,因此可以在一个系统上运行相同的程序的不同配置版本。
3.从架构的角度来讲,Docker主要由哪些组件组成?
Docker的组成结构就是:Docker Engine、Docker Hub,Docker Engine是runtime以及打包用的工具,Docker Hub是云端服。
4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
Docker和VM领域中的操作系统虚拟化不同,它提供的是一个 程序虚拟化,和Java是类似的,但是Docker是开源的,也就是很有可能成为下一个Java,能够改变整个应用安装、使用的历史,是一个革命性的创新,各大厂家都能看出来。现在Windows Server也要开始支持,以后Docker不仅可以运行在Linux,以后也可以运行在Windows,基本上就是全平台了,意义重大。
小富即安, 积分 2758, 距离下一级还需 2242 积分
论坛徽章:22
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
快速部署(一次打包多点部署超快),方便回滚,轻量,差异化下载,一台机器开上百个container都可以
2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
docker底层是lxc(操作系统级别虚拟化),而vm则是全虚拟化,层次本身就不一样。
另外docker是差异化更新的(aufs,不过貌似有别的技术准备替换),非常省空间。
3.从架构的角度来讲,Docker主要由哪些组件组成?
lxc是最重要的,另外就是liblxc,不过好像准备把这个库给替换成别的...
4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
估计就是在docker层之上弄个管理层吧,openstack现在也想把docker纳进来了,之前是直接管lxc的。
富足长乐, 积分 7819, 距离下一级还需 181 积分
论坛徽章:19
docker正在让应用和硬件真正的解耦。之前的虚拟化是操作系统级的。我们可以把操作系统装在由宿主机管理的硬件上。这个过程让操作系统可以成为一个底层操作系统上的一个超大应用程序。现在的DOCER正在将应用本身和操作系统之间进行解耦。之前的应用系统部署必须摇硬件-》操作系统-》应用程序。现在在DOCKER下。应用系统的部署变成了DOCKER-》应用程序。这样DOCKER可以非常容易的实现应用系统和操作系统的解耦。DOCKER何以管理一大堆的操作系统。这样应用就只保留和DOCKER的应用界面。从上层看起来。应用程序部署再DOCKER上就像直接部署在硬件上。而实际上它就是一层更大规模的软件系统平台。应用在其上将摆脱因为之前因为硬件和操作系统带来的应用下线故障。这也让未来的应用迁移已经更大规模并行变得更加易于部署和管理。硬件将变得越来越通用。操作系统也将必然走向通用化。而应用代码才是未来真正的核心。
家境小康, 积分 1111, 距离下一级还需 889 积分
论坛徽章:13
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
更容易部署一致的生产环节
单元测试时回滚更容易
2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
(待编辑)
3.从架构的角度来讲,Docker主要由哪些组件组成?
Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同, LXC 其并不是一套硬件虚拟化方法 - 无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观。
docker背后的一系列技术 - namespace, cgroup, lxc, aufs等
namespace 用于保证隔离性,使每个用户实例之间相互隔离, 互不影响
cgroups 用来控制资源,实现对用户实例的按需提供资源以及使用资源的度量
aufs 用来实现实例的复制、移动和重建
4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
Docker内部使用的是Linux容器技术(LXC),运行在与它的宿主机器同样的操作系统上。使得它可以和宿主机器共享许多系统资源。
使用Linux容器虚拟化技术(LXC),隔离性方面有所缺失,但是他们更加轻量,而且需要更少资源。
docker使你可以将OS快照存入一个通用的镜像,并使得在往其它的docker主机上部署时变得容易。对于本地,开发、质量管理、产品等等,都是用的同一个镜像。在解决部署环境一致性的问题上更加方便、快捷。
白手起家, 积分 86, 距离下一级还需 114 积分
论坛徽章:0
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
由于Docker封装底层的不同,提供一个透明的容器,使得开发环境完全一致,提供给运维团队的镜像也是一致的,减少的运维团队的错误配置。
2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
(1)docker的最低层是lib库,一个linux上的所有docker的内核版本都是一致的; VMs从系统底层开始虚拟,包括内核版本,发行版本都不一样。docker仅仅为应用层封装了底层,所以轻量。
(2)从磁盘占用量上讲,每个VM至少需要打包一个root分区和应用分区(如opt分区),最终一个image会很大,客户一般要求50G的磁盘; 而docker会节省很多,所有docker应用会共享一个通用rootfs,当然每个docker都可以增加、删减一些lib库。
3.从架构的角度来讲,Docker主要由哪些组件组成?
主要是四个组件吧:namespace, cgroup, lxc, aufs
namespace 将每个docker应用互相隔离开。
cgroups 控制每个docker应用对cpu,memory,net,io等等的访问能力
aufs 保证docker对rootfs共享的同时,允许个性化配置自己的root
4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
(1)通过docker可以发布更容易安装,更容易配置的系统,以前商业公司都是发布一个一个的软件包(rpm,deb,exe),有了docker可以发布一个一个的轻量级应用,并且无需多余的配置。
(2)利用docker作为底层,发布更高级的上层管理平台。
家境小康, 积分 1271, 距离下一级还需 729 积分
论坛徽章:30
1.作为Devops的工具之一,Docker广受开发者和运维人员的欢迎,为什么?
Docker可以将程序员开发的各种应用变成一种标准化的、可移植的、自管理的组件,可以在任何主流系统中开发、调试和运行。
而且,Docker不依赖于任何语言、框架或系统。
2.通过图片来对比下Dockers 与VMs的架构,VM为什么笨重?Docker为什么很轻量?
根据图片的分层结构,Docker部署的应用其整体架构上少了客户端OS,用Docker Engine代替了客户端OS和Hypervisor两层。
我查阅了Docker的官方文档,Docker使用了Linux的LXC容器,使得可以利用Host层的OS提供的能力,可以分享主机操作系统的资源,还可以使用AuFS文件系统,还可以管理网络等。
其次,Docker对磁盘的消耗远低于VM。比如1GB的容器镜像,且我们需要100个,如果我们使用完整的VM,那么需要的磁盘空间是1GB的100多倍;而使用Docker,通过LXC和AuFS技术,可以共享容器OS的空间,所消耗的磁盘空间可能只是1GB多一些。
完整的VM在资源共享方面是最低的,隔离性很好,但太“重”了。而Docker做到了很高的资源共享,但隔离性仍然很好。
3.从架构的角度来讲,Docker主要由哪些组件组成?
Docker的组件包括:Docker Engine、Docker Hub两部分组成。
Docker Engine是一个便捷、轻巧的运行时和打包工具。
Docker Hub是一个云服务,可以共享应用程序和提供自动化的工作流。
4.作为一个超轻量化容器应用,Docker是仅次于OpenStack成为最受欢迎的云开源项目,VMware、谷歌、微软等纷纷和Docker展开合作,它究竟有哪些商业价值?
Docker不限开发语言,Docker化的应用程序可以任意移植、任意运行;
Docker管理和跟踪变更和依赖;
Docker消除了组件开发、测试、生产环境之间的差异。
Docker适合云计算应用的部署。
稍有积蓄, 积分 216, 距离下一级还需 284 积分
论坛徽章:0
我坐沙发。坐等话题讨论。
腰缠万贯, 积分 9010, 距离下一级还需 990 积分
论坛徽章:130
看到书,就眼睛花花的
小富即安, 积分 2643, 距离下一级还需 2357 积分
论坛徽章:9
Docker反正最近感觉他很火,不过自己还没有研究呢。最近一直在学习KVM
富足长乐, 积分 5250, 距离下一级还需 2750 积分
论坛徽章:37
本帖最后由 laputa73 于
11:16 编辑
这个思路很好,应用层的VM
相当于一个分布式的OS,而不是一个分布式的机器
和传统的VM比 ,不需要再操心OS安装和资源分配
对于应用,屏蔽底层的分布式差异
相当于开发一个应用,比如webgame,自动可以获得分布式的接入能力(HA)、存储能力(分布式文件系统)和计算能力(负载均衡)
富足长乐, 积分 7819, 距离下一级还需 181 积分
论坛徽章:19
我比较关心DOCKER的IMAGES如何制作,毕竟现在的在线组件安装让人觉得很烦。另外就是我也非常关系IMAGES到底是如何被DOCKER加载的。第二我也很关心COEROS的双螺旋结构的根分区形式什么时候能成为LINUX系统各个发行版本的标准配置。
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处为什么用Yarn来做Docker容器调度引擎
为什么用Yarn来做Docker容器调度引擎
这篇文章是在一个微信群里和人聊天,然后整理出来的文字。当时Hulu推出了基于Yarn的Docker调度引擎。我正好那段时间也实现了一个类似的,经过交流,发现最后的实现基本是一致的。然而业界用的较多的是Mesos,这篇文章就是为了解释为什么选择用Yarn而不是Mesos来做。
Mesos 其实我不是非常熟悉,所以有些内容可能会有失偏颇,带有个人喜好。大家也还是需要有自己的鉴别能力
Mesos和Yarn 都非常棒,都是可编程的框架。一个硬件,不能编程,就是死的,一旦可以编程就活了,就可以各种折腾,有各种奇思妙想可以实现,同样的,一个软件,只要是可编程的,基本也就活了,容易形成生态。
Yarn VS Mesos
我先说说在做容器调度引擎的时候,为什么选择Yarn而不是Mesos.
先说明下,这里探讨的是Yarn或者Mesos集群的部署,不涉其上的应用。Yarn除了依赖JDK,对操作系统没有任何依赖,基本上放上去就能跑。Mesos因为是C/C++开发的,安装部署可能会有库依赖。 这点我不知道大家是否看的重,反正我是看的相当重的。软件就应该是下下来就可以Run。所以12年的时候我就自己开发了一套Java服务框架,开发完之后运行个main方法就行。让应用包含容器,而不是要把应用丢到tomcat这些容器,太复杂,不符合直觉。
Yarn 对Java/Scala工程师而言,只是个Jar包,类似索引开发包Lucene,你可以把它引入项目,做任何你想要的包装。 这是其一。
其二,Yarn提供了非常多的扩展接口,很多实现都是可插拔可替换的,在xml配置下,可以很方便的用你的实现替换掉原来的实现,没有太大的侵入性,所以就算是未来Yarn升级,也不会有太大问题。
相比较而言,Mesos更像是一个已经做好的产品,部署了可以直接用,但是对二次开发并不友好。
Yarn 诞生于Hadoop这个大数据的“始作俑者”项目,所以在大数据领域具有先天优势
底层天然就是分布式存储系统HDFS,稳定高效。
其上支撑了Spark,MR等大数据领域的扛顶之座,久经考验。
社区强大,最近发布版本也明显加快,对于长任务的支持也越来越优秀。
谈及长任务(long running services)的支持,其实大可不必担心,譬如现在基于其上的Spark Streaming 就是7x24小时运行的。一般而言,要支持长任务,需要考虑如下几个点:
Fault tolerance. 主要是AM的容错
Yarn Security. 如果开启了安全机制,令牌等的失效时间也是需要注意的
日志收集到集群
还有就是资源隔离和优先级
大家感兴趣可以先参考Jira .我看这个Jira 13年就开始了。说明这事很早就被重视起来了。
Fault tolerance
Yarn 自身高可用。目前Yarn的Master已经实现了HA.
AM容错,我看从2.4版本(看的源码,也可能更早的版本就已经支持)就已经支持 keep containers across attempt 的选项了。什么意思呢?就是如果AM挂掉了,在Yarn重新启动AM的过程中,所有由AM管理的容器都会被保持而不会被杀掉。除非Yarn多次尝试都没办法把AM再启动起来(默认两次)。 这说明从底层调度上来看,已经做的很好了。
日志收集到集群
日志收集在2.6版本已经是边运行边收集了。
资源隔离的话,Yarn做的不好,目前有效的是内存,对其他方面一直想做支持,但一直有限。这估计也是很多人最后选择Mesos的缘由。但是现在这点优势Mesos其实已经荡然无存,因为Docker容器在资源隔离上已经做的足够好。Yarn和Docker一整合,就互补了。
Mesos 和 Yarn 都是非常优秀的调度框架,各有其优缺点,弹性调度,统一的资源管理是未来平台的一个趋势,类似的这种资源管理调度框架必定会大行其道。
一些常见的误解
脱胎于Hadoop,继承了他的光环和生态,然而这也会给其带来一定的困惑,首先就是光环一直被Hadoop给盖住了,而且由于固有的惯性,大家会理所当然的认为Yarn只是Hadoop里的一个组件,有人会想过把Yarn拿出来单独用么?
然而,就像我在之前的一篇课程里,反复强调,Hadoop是一个软件集合,包含分布式存储,资源管理调度,计算框架三个部分。他们之间没有必然的关系,是可以独立开来的。而Yarn 就是一个资源管理调度引擎,其一开始的设计目标就是为了通用,不仅仅是跑MR。现在基于Yarn之上的服务已经非常多,典型的比如Spark。
这里还有另外一个误区,MR目前基本算是离线批量的代名词,这回让人误以为Yarn也只是适合批量离线任务的调度。其实不然,我在上面已经给出了分析,Yarn 是完全可以保证长任务的稳定可靠的运行的。
用云栖社区APP,舒服~
【云栖快讯】直播推荐——现在报名3月12日编程语言系列讲座,与行业资深专家一起学习Python、C++、JavaScript、Java!还可在活动页面领取红包,百分百中奖哦!&&
提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过Docker容器来进行应用生命...
用于实时预测用户对物品偏好,支持企业定制推荐算法,支持A/B Test效果对比
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效...

我要回帖

更多关于 汽车有几个点火电容器 的文章

 

随机推荐