在 Docker 上建立多节点的 Hadoop 集群 【已翻译100%】

简介:

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

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

docker pull sequenceiq/ambari:latest

一行命令

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

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

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:

amb-start-cluster 2
amb-shell

AmbariShell启动的前提:

  • Ambari REST API 将帮助你建立多个hadoop端.
host list
blueprint add --url https://gist.githubusercontent.com/lalyos/xxx/raw/custum-blueprint.json
cluster build --blueprint custom-blueprint
cluster assign --hostGroup host_group_1 --host amb0.mycorp.kom
cluster assign --hostGroup host_group_2 --host amb1.mycorp.kom
cluster assign --hostGroup host_group_2 --host amb1.mycorp.kom
cluster create

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

自动补全包括:

  • 补全命令行 (例如,没有这个帮助下 cluster命令是不可用的)
  • 添加需要的参数
  • 添加备选参数: --后加上
  • 添加变参,像是参数名,宿主名等等 …

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

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

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

相关文章
|
2月前
|
存储 分布式计算 资源调度
Hadoop入门基础(三):如何巧妙划分Hadoop集群,全面提升数据处理性能?
Hadoop入门基础(三):如何巧妙划分Hadoop集群,全面提升数据处理性能?
|
1月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
52 3
Hadoop集群配置https实战案例
|
14天前
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
1月前
|
机器学习/深度学习 分布式计算 安全
Hadoop集群常见报错汇总
这篇博客总结了Hadoop集群中可能遇到的各种常见错误,包括Kerberos认证问题、配置错误、权限问题等,并为每个问题提供了详细的错误复现、原因分析以及相应的解决方案。
56 1
Hadoop集群常见报错汇总
|
1月前
|
资源调度 分布式计算 运维
Hadoop集群资源管理篇-资源调度器
详细介绍了Hadoop集群资源管理中的资源调度器,包括资源分配的概念、大数据运维工程师如何管理集群工作负载、资源调度器的背景、Hadoop提供的FIFO、容量调度器和公平调度器三种资源调度器的概述以及它们之间的对比。
84 4
|
1月前
|
分布式计算 监控 Hadoop
监控Hadoop集群实战篇
介绍了监控Hadoop集群的方法,包括监控Linux服务器、Hadoop指标、使用Ganglia监控Hadoop集群、Hadoop日志记录、通过Hadoop的Web UI进行监控以及其他Hadoop组件的监控,并提供了相关监控工具和资源的推荐阅读链接。
52 2
|
2月前
|
存储 Kubernetes 安全
如何与不同节点共享 Docker 容器
【8月更文挑战第27天】
35 5
|
2月前
|
机器学习/深度学习 存储 分布式计算
Hadoop高可用集群搭建
Hadoop高可用集群搭建
|
2月前
|
负载均衡 调度 Docker
|
2月前
|
canal Kubernetes Docker
基于Kubernetes v1.25.0和Docker部署高可用集群(03部分)
基于Kubernetes v1.25.0和Docker部署高可用集群(03部分)