在Docker上建立多节点的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上.


本文作者:佚名

来源:51CTO

相关文章
|
2月前
|
网络安全 Docker 容器
|
2月前
|
安全 Docker 容器
|
20天前
|
Prometheus 监控 Cloud Native
如何使用Prometheus监控Docker Swarm集群的资源使用情况?
还可以根据实际需求进行进一步的配置和优化,如设置告警规则,当资源使用超出阈值时及时发出警报。通过这些步骤,能够有效地使用 Prometheus 对 Docker Swarm 集群的资源进行监控和管理。
39 8
|
20天前
|
Prometheus 监控 Cloud Native
如何监控Docker Swarm集群的性能?
如何监控Docker Swarm集群的性能?
67 8
|
21天前
|
监控 Docker 容器
Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项
本文深入探讨了Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项,旨在帮助用户高效管理集群资源,适应业务变化,确保服务稳定性和资源优化。
42 6
|
1月前
|
API Docker 容器
【赵渝强老师】构建Docker Swarm集群
本文介绍了如何使用三台虚拟主机构建Docker Swarm集群。首先在master节点上初始化集群,然后通过特定命令将node1和node2作为worker节点加入集群。最后,在master节点上查看集群的节点信息,确认集群构建成功。文中还提供了相关图片和视频教程,帮助读者更好地理解和操作。
|
1月前
|
调度 Docker 容器
【赵渝强老师】Docker Swarm集群的体系架构
Docker Swarm自1.12.0版本起集成至Docker引擎,无需单独安装。它内置服务发现功能,支持跨多服务器或宿主机创建容器,形成集群提供服务。相比之下,Docker Compose仅限于单个宿主机。Docker Swarm采用主从架构,Swarm Manager负责管理和调度集群中的容器资源,用户通过其接口发送指令,Swarm Node根据指令创建容器运行应用。
|
分布式计算 Hadoop Java
使用阿里云服务器通过Docker环境搭建Hadoop集群常见的问题
使用云服务器利用Docker环境搭建Hadoop集群常见的问题 通过同学介绍了解到了阿里云服务器,由于在虚拟机上搭建Hadoop占用太多的内存,且运行速度较慢,所以尝试使用服务器进行搭建。 我选择的是Linux的centos7,使用xshell工具连接服务器,操作更加方便。
|
12天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
142 77
|
20天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
下一篇
DataWorks