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

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

在Docker上树立多节点的Hadoop集群(docker部署hadoop集群)  Docker Hadoop集群 第1张

现在咱们进步门槛,在Docker上创立一个多点Hadoop集群。在开端前,保证你有***的Ambari镜像:

  1. dockerpullsequenceiq/ambari:latest

一行指令

一旦你得到了***的镜像,你就能够发动Docker容器。咱们现已创立了几个shell 函数来帮你输入Docker指令,然后防止输入像Docker run [options] image [command]这样冗长的指令。

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

  1. curl-Lo.ambj.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-cluster2
  2. amb-shell

AmbariShell发动的条件:

  • Ambari REST API 将协助你树立多个hadoop端.

  1. hostlist
  2. blueprintadd--urlhttps://gist.githubusercontent.com/lalyos/xxx/raw/custum-blueprint.json
  3. clusterbuild--blueprintcustom-blueprint
  4. clusterassign--hostGrouphost_group_1--hostamb0.mycorp.kom
  5. clusterassign--hostGrouphost_group_2--hostamb1.mycorp.kom
  6. clusterassign--hostGrouphost_group_2--hostamb1.mycorp.kom
  7. clustercreate

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

转载请说明出处
知优网 » 在Docker上树立多节点的Hadoop集群(docker部署hadoop集群)

发表评论

您需要后才能发表评论