Hadoop 2.6.0 重要特性之 Docker Container Executor (DCE)

Docker Container Executor (DCE) 是 Hadoop 2.6.0 包含的一个重要特性:至此,大数据的巨人 Hadoop 也终于可以利用当前虚拟化/云计算领域的宠儿 Docker 的强大能力了。

对于 Docker 概念介绍的文章已经非常多了,因此本文就不再赘述,仅仅直接引用 Hadoop 社区里对其的描述:“Docker (https://www.docker.io/) combines an easy-to-use interface to Linux containers with easy-to-construct image files for those containers. In short, Docker launches very light weight virtual machines.”
而 Hadoop 使用 Docker 能力主要是借助其的新组件 Docker Container Executor (DCE)。利用 DCE,YARN NodeManager 可以将 YARN 容器执行于 Docker 容器中。

根据 Hadoop 社区的文章http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-site/DockerContainerExecutor.html, 我们可以试用该功能。在试用前,需要事先安装好docker组件,并下载 docker image sequenceiq/hadoop-docker:2.4.1。

另外,也要更改 yarn-site.xml 配置:

<property>
 <name>yarn.nodemanager.docker-container-executor.exec-name</name>
  <value>/usr/bin/docker</value>
  <description>
     Name or path to the Docker client. This is a required parameter. If this is empty,
     user must pass an image name as part of the job invocation(see below).
  </description>
</property>

<property>
  <name>yarn.nodemanager.container-executor.class</name>
  <value>org.apache.hadoop.yarn.server.nodemanager.DockerContainerExecutor</value>
  <description>
     This is the container executor setting that ensures that all
jobs are started with the DockerContainerExecutor.
  </description>
</property>

最后,可以通过命令提交 Hadoop MapReduce job teragen 到 resourcemanger:“hadoop jarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar teragen-Dmapreduce.map.env="yarn.nodemanager.docker-container-executor.image-name=sequenceiq/hadoop-docker:2.4.1"-Dyarn.app.mapreduce.am.env="yarn.nodemanager.docker-container-executor.image-name=sequenceiq/hadoop-docker:2.4.1"10000
/tmp/teragen”。

MapReduce Job 执行:

在 MR job 运行期间,我们能观察到有3个 docker container 也在被执行—— MR job 正式运行于它们之中:

当然,成功执行完后也能从 ResourceManger web console上面看到执行结果:

时间: 2025-01-06 07:20:38

Hadoop 2.6.0 重要特性之 Docker Container Executor (DCE)的相关文章

Apache Hadoop 2.6.0 新特性

Apache Hadoop 2.6.0发布了,新的稳定版,发布频率和质量越来越高了,增加了很多东西,从安装包的大小就能看出来,直接增加了50M,30%有木有. 下面看一下,2.6.0都有啥好东西. Common: 1.      Hadoop Key Management Server(KMS)是一个基于HadoopKeyProvider API编写的密钥管理服务器.他提供了一个client和一个server组件,client和server之间基于HTTP协议使用REST API通信.Clien

Hadoop 2.4.0新特性介绍

在2014年4月7日,Apache发布了Hadoop 2.4.0 .相比于hadoop 2.3.0,这个版本有了一定的改进,突出的变化可以总结为下列几点(官方文档说明): 1 支持HDFS访问控制列表(ACL,Access Control Lists) 这个特性解决了在一定情况下,文件权限访问的权限问题.其机制是基于Linux文件访问权限的特征,如果你熟悉Linux的文件访问机制,你就不用再去理解HDFS文件访问的特性了. 有了ACL特性后,对HDFS文件系统就具有了良性的扩展特性.HDFS-4

Hadoop 2.5.0新特性和改进

Apache Hadoop 2.5.0是一个在2.x.y发布线上的一个小版本,建立在之前稳定的发布版本2.4.1之上.主要特性和改进: 1. Common a) 使用HTTP代理服务器时认证改进.当通过代理服务器使用WebHDFS时这是非常有用的. b) 增加了一个新的Hadoop指标监控sink,允许直接写到Graphite. c) Hadoop文件系统兼容相关的规范工作. 2. HDFS a) 支持 POSIX风格的扩展文件系统.更多细节查看Extended Attributes in HD

解析Hadoop 2.3.0版本的新特性

2014年2月20日,Hadoop 2.3.0版本发布,这是apache 在2014年发布的第一个Hadoop版本,揭开了Hadoop 2014发展的序幕. 该版本引入了很多大家期待已久的特性,包括HDFS 的异构层次化存储架构.DataNode Cache,YARN的单点故障解决方案,以及MapReduce的自动化部署等.本文尝试为大家解析这些特性,并给出一些资料供大家深入了解. HDFS新特性. 2.3.0中引入了两个大的HDFS特性,分别是异构层次化存储架构和DataNode Cache.

Spark1.0.0新特性

Spark1.0.0 release于2014-05-30日正式公布,标志Spark正式进入1.X的时代.Spark1.0.0带来了各种新的特性,并提供了更好的API支持:Spark1.0.0添加了Spark SQL这一个新的重要组件,用于载入和操作Spark的结构化数据:Spark1.0.0增强了现有的标准库(ML,streaming,GraphX),同一时候还增强了Java和Python语言的支持:最后,Spark1.0.0在运维上做了非常大的改进,包含支持Hadoop/YARN安全机制.使

Ubuntu14.04用apt安装CDH5.1.2[Apache Hadoop 2.3.0]

--------------------------------------- 博文作者:迦壹 博客名称:Ubuntu14.04用apt安装CDH5.1.2[Apache Hadoop 2.3.0] 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=558 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! -----------------------------------

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个须要极度耐心和体力的仔细工作. 虽然有非常多文档教会大家怎么一步一步去完毕这样的工作,可是百密也有一疏. 现成的工具不是没有,可是对于我这个喜欢了解细节的人来说,用别人的东西,写的好还能够,写的不好,出了问题,查找错误难之又难.手工安装Hadoop集群须要对Linux有一定的使用经验.对于全然没有接触Linux的人来说.肯定是

从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection

前言 在阅读这篇文章:Announcing Net Core 3 Preview3的时候,我看到了这样一个特性: Docker and cgroup memory Limits We concluded that the primary fix is to set a GC heap maximum significantly lower than the overall memory limit as a default behavior. In retrospect, this choice

Hadoop 2.2.0 常见问题之:Ubuntu 64环境下“Unable to load native-hadoop library for your platform”问题”

问题 最近在学习Hadoop(2.2.0),打算写一个MapReduce的小程序在Ubuntu 64位的环境下测试一把,一切环境配置完毕后,执行的过程中,控制台输出下面的内容: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 原因 在网上搜索了一番,得出如下结论: "The reason