首页 > 代码库 > Hadoop on Docker

Hadoop on Docker

  接触Docker一年多,那时Docker才刚起步不久,到现在受欢迎程度可以说是如火如荼。当时主要做云计算方面的东西,需要一种机制来隔离用户间的应用。在网上看了很多资料,发现了一种容器技术,叫LXC(linux container),可以用来作为沙箱隔离,也可以分配不同的内存,cpu给容器。由于LXC比较底层,没有镜像的概念,当容器数量一多,管理起来非常不方便。后来偶然间看到了Docker,相对LXC来说,它更偏向应用层,相当于对LXC进行一层封装,有镜像的概念。

  什么是Docker。Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、OpenStack 集群和其他的基础应用平台。 

  Docker主要用于:web应用的自动化打包和发布;自动化测试和持续集成,发布;在服务型环境中部署和调整数据库或其他的后台应用;从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境等。

  这里主要讲如何在Docker容器中部署hadoop集群,以及如何扩展hadoop计算节点。下图是整个Hadoop on Docker的架构

这种架构的优势是,可以充分利用主机的资源,防止namenode单点故障

 

Hadoop on Docker