Docker
Docker很热,怎么形容?感觉开源除了spark技术,就是docker了,甚至把Go语言也带火了,把Go在TIOBE的排名从百名外带入主流语言的行列。
Docker快成救世主了,这么牛逼的技术,docker和hadoop碰撞出什么火花来呢,是不是得赶紧用上呢?
就不介绍具体什么是docker了,不是一门全新的技术,是基于LXC的高级容器引擎,从linux内核发展出来的轻量隔离技术。相比单纯的隔离,核心是标准化了镜像打包,部署和发布这个过程,相当于标准化了开发过程。就运行态来说,相比VM,核心优势就是轻量,劣势也明显,安全性不足,容易攻破。下图是一个VM和容器的对比:
Docker在大数据中的使用
关于LXC,google的大规模集群管理工具borg号称十年前就使用上了,使用场景就是大数据场景,而且批量/实时场景号称都支持的很好,集群资源利用率也非常高,所以照这个说起来,大数据和docker渊源很深。
但是现实的情况是,docker在hadoop领域用的并不是很好。目前主流两种用法:
第一种方法是用Docker来直接运行Hadoop。例如hortonworks,收购了一家叫SequenceIQ的公司,通过叫Cloudbreak的技术,将Hortonworks Data Platform(HDP)打包成Docker镜像,好处是可以在微软Azure、亚马逊AWS、谷歌云平台等任何主流云平台上启动HDP。这种解决的是在多云平台部署的问题。但是这个公司被收购之后也没有更多的消息了。Github上的最后一次更新也在5个月之前。
这个至多只是解决开发环境的问题,hadoop很难在不同的环境下,不调优而跑出一致的表现,天生的使用场景受限,价值有限。
第二种方法是通过YARN来使用Docker容器进行应用部署,yarn是支持docker的,具体可以看看:
http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/DockerContainerExecutor.html
yarn作为资源管理,由于其扩展能力,一直被压缩在了大数据领域,如果为了任务级别更高资源利用,通过FAIR调度算法足于,更强的隔离反而限制了资源的弹性使用。
当前资源调度更火是k8s(google主推,号称从borg发展而来)和mesos(伯克利大学主推)。瞄准的场景也更多的是应用级别,yarn支持docker处在一个很尴尬的地步。
展望
综合来说,hadoop体系有自己的一套资源管理系统,要解决的问题是多个服务器并行调度起来当一个服务器使用的问题。而docker技术本质上和VM一样,是将一个服务器拆成多份给更多的应用使用。Docker和hadoop体系在云下物理机的场景非常有限,未来在云上替代VM解决弹性伸缩问题应该有发展。
欢迎关注微信公众号《大数据和云计算技术》,获取最新大数据和云计算技术。
相关推荐
通过将Hadoop部署到Docker容器中,我们可以更方便地管理和维护Hadoop集群。 虚拟化技术 在开始之前,让我们先了解一下虚拟化技术。在计算机领域中,虚拟化技术可以分为两类:重量级的虚拟机(VM)和轻量级的容器。...
基于docker构建hadoop分布式集群,可以适用于swarm云,k8s云,mesos云。
Docker(Hadoop_3.3.1+HBase_2.4.16+Zookeeper_3.7.1+Hive_3.1.3 )配置文件 搭建集群环境
Docker 本身就是基于 Linux 的,所以首先以我的一台服务器做实验。虽然最后跑 wordcount 已经由于内存不足而崩掉,但是之前的过程还是可以参考的。 连接服务器 使用 ssh 命令连接远程服务器。 ssh root@[Your IP ...
001
1. **系统要求**:列出运行 Docker 和 Hadoop 集群所需的硬件和软件环境,如 Linux 发行版和 Docker 版本。 2. **Docker 安装**:指导用户如何在他们的 Linux 系统上安装 Docker。 3. **构建 Docker 映像**:解释...
教程:在linux虚拟机下(centos),通过docker容器,部署hadoop集群。一个master节点和三个slave节点。
通过Hadoop流,使用Java和Python中的作业减少了对作业图的测试。 示例作业的代码取自《数据科学家的Hadoop基础》一书( )。 请记住,在本指南中,我不会向您展示如何在Docker上安装Hadoop,该映像已准备就绪,只需...
docker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop...
对各个节点指定好功能 maseter为主节点,hadoop01 为从节点和datanode hadoop02 为yarn主节点负责各个节点的资源调度, hadoop02,hadoop03为datanode节点 OS hostname IP Centos8 hadoop-master ...
mapreduce基础实战-内容概要:本文档详细记录了一个学期末项目中,使用Python爬虫收集新浪微博关于“澳门”相关话题的内容,并利用Ubuntu、Docker、Hadoop及其组件(如HDFS和MapReduce)处理数据的全过程。...
hadoop-cluster-docker, 在 Docker 容器中运行 Hadoop 在 Docker 容器内运行Hadoop集群博客:在 Docker 更新中运行Hadoop集群。博客:基于Docker搭建Hadoop集群之升级版 3节点Hadoop集群 1.拉 Docker 图像sudo do
基于 Docker 构建 Hadoop 平台
docker hadoop
docker-hadoop-集群 Docker上的多节点集群,用于自我开发。 docker-hadoop-cluster适用于测试具有多个节点的Hadoop补丁。从Hadoop源代码构建映像hadoop服务的基本映像。 该映像包括JDK,hadoop软件包配置等。该映像...
里面包含Hadoop2.7,jdk1.8以及写好的Dockerfile文件,还有配置文件
阿里云ubuntu16.04基于docker搭建hadoop详细操作步骤......里面都是详细的脚本文件,对照着我的博客做应该是没有问题的.
docker-hadoop, 在Ubuntu上,用于运行Hadoop的Dockerfile Hadoop的 Docker 映像 支持的标签和相应的Dockerfile 链接2.6.0/Dockerfile2.5.2/Dockerfile2.5.1/Dockerfile2.5.0/Dockerfile2.4.