您所在的位置:开发 > 大数据应用 > 在Docker上建立多节点的Hadoop集群

在Docker上建立多节点的Hadoop集群

2014-07-01 09:53 开源中国社区 编译 字号:T | T
一键收藏,随时查看,分享好友!

在上篇文章中你已经看到了在你的devbox创建一个单点Hadoop 集群是多么简单。现在我们提高门槛,在Docker上创建一个多点hadoop集群。

AD:

上篇文章中你已经看到了在你的devbox创建一个单点Hadoop 集群是多么简单。

现在我们提高门槛,在Docker上创建一个多点hadoop集群。在开始前,确保你有最新的Ambari镜像:

  1. docker pull sequenceiq/ambari:latest 

一行命令

一旦你得到了最新的镜像,你就可以启动Docker容器。我们已经创建了几个shell 函数来帮你输入Docker命令,从而避免输入像docker run [options] image [command]这样冗长的命令。

有了这些功能,创建3个节点的hadoop簇,只需要下面一行代码搞定:

  1. curl -Lo .amb j.mp/docker-ambari && . .amb && amb-deploy-cluster 

默认参数值都是可以根据需要更改的,像是blueprint,簇大小,等等 … 在shellj.mp/docker-ambari功能函数的头文件有参数列表.

它是按照下面步骤来实现的:

  • 在Docker (后台运行) 容器的守护进程上运行sambari-server start (记得还有 anambari-agent start)

  • 运行sn-1 守护进程容器并用ambari-agent start连接到服务器

  • 运行AmbariShell 以及其终端控制台 (监控子进程)

    • AmbariShell 会把内置的多节点blueprint发送至 /api/v1/blueprintsREST API

    • AmbariShell 依照blueprint的设置自动分配宿主信息

    • 通过发送至/api/v1/clustersREST API的内容创建簇

自定义

如果你有自己定义好的脚本,可以放在 gist然后运行 AmbariShell. 先启动 AmbariShell:

  1. amb-start-cluster 2  
  2. amb-shell 

AmbariShell启动的前提:

  • Ambari REST API 将帮助你建立多个hadoop端.

  1. host list  
  2. blueprint add --url https://gist.githubusercontent.com/lalyos/xxx/raw/custum-blueprint.json  
  3. cluster build --blueprint custom-blueprint  
  4. cluster assign --hostGroup host_group_1 --host amb0.mycorp.kom  
  5. cluster assign --hostGroup host_group_2 --host amb1.mycorp.kom  
  6. cluster assign --hostGroup host_group_2 --host amb1.mycorp.kom  
  7. cluster create 

AmbariShell 的 hint命令能帮助开发人员实现自动补全等功能.

自动补全包括:

  • 补全命令行 (例如,没有这个帮助下 cluster命令是不可用的)

  • 添加需要的参数

  • 添加备选参数: --后加上<TAB>

  • 添加变参,像是参数名,宿主名等等 …

总结

基本上我们开始使用Docker的时候就已经使用多端的hadoop功能了 – 笔记本上运行3到4簇面临的极限问题比 Sandbox VM少得多.

我们使用了docker的模式简化了hadoop的使用模式 – 可以在 LinkedIn找到我们关于Cloudbreak的最新进展 – 开源云端的Hadoop as a Service API应用并构建在 docker上.

希望本文能帮你简化你的开发流程 – 如有什么关于docker上使用hadoop问题,欢迎沟通。

英文原文:Multi-node Hadoop cluster on Docker

译文出自:http://www.oschina.net/translate/multinode-hadoop-cluster-on-docker

【编辑推荐】

  1. 在Docker中运行一个Python的Web应用
  2. 谷歌拥抱Docker 最火的云计算技术
  3. 开源软件部署解决方案 Docker 1.0 正式发布
  4. Docker迈入云(DockerHub)端(Docker引擎)时代
  5. DockerCon 上露脸的开源项目
【责任编辑:林师授 TEL:(010)68476606】



分享到:

  1. 彻底透视CDN痛点,互联网老兵聊聊CDN的那些事儿!
  2. 3行Python代码完成人脸识别

热点职位

更多>>

热点专题

更多>>

读书

Expert C# 2005 Business Objects中文版
本书描述了怎样应用面向对象的概念来进行.NET应用程序的架构、设计和开发。作者将重点放在了面向业务的对象,即业务对象和怎样在

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院