Ambari-Blueprint总体介绍

  • ambari-blueprint主要作用是通过提供一个restAPI。调用几次API就能够创建一个集群。ambari-server解析stack下的role_command_order.json文件来自己主动部署集群。role_command_order.json文件记录着各个服务与组件的部署顺序。ambari-server会自己主动依据顺序建立task,这样就简化了单步创建时调用restapi的多次调用。

Ambari-Blueprint使用步骤

  • 使用POST方法建立blueprint           注意:在ambari 1.4之后 在调用restapi时须要增加 -H "X-Requested-By:ambari"

    •  格式化json网址:http://www.bejson.com/
    • request body 例如以下:(集群组件仅仅含有部分 不全 包含HDFS的nn dn ZK的server)

      {

        "host_groups" : [

          {

            "name" : "master",

            "configurations" : [

            ],

            "components" : [

              {

                "name" : "NAMENODE"

              },

              {

                "name" : "ZOOKEEPER_SERVER"

              }

            ],

            "cardinality" : "1"

          },

          {

            "name" : "slaves",

            "components" : [

              {

                "name" : "DATANODE"

              },

              {

                "name" : "ZOOKEEPER_SERVER"

              }

            ],

            "cardinality" : "1+"

          }

        ],

        "Blueprints" : {

          "stack_name" : "HDP",

          "stack_version" : "2.0.6"

        }

      }
    • 调用命令例如以下所看到的

      curl -u admin:admin -i -X POST -d '<request body>' -H "X-Requested-By:ambari" http://<ambari-server host>:8080/api/v1/blueprints/<buleprint-name>


  • 分配host完毕集群建立

    • 使用http post请求完毕host分配

    • {

        "blueprint" : "<blueprint-name>",

        "host_groups" :[

          {

            "name" : "master", 

            "hosts" : [         

              {

                "fqdn" : "<master-host>"

              }

            ]

          },

          {

            "name" : "slaves", 

            "hosts" : [

              {

                "fqdn" : "<slave-host>"

              },

              {

                "fqdn" : "<slave-host>"

              }

            ]

          }

        ]

      }

    • 详细命令例如以下

      curl -u admin:admin -i -X POST -d '{"blueprint":"<blueprint-name>","host_groups":[{"name":"master","hosts":[{"fqdn":"<master-host>"}]},{"name":"slaves","hosts":[{"fqdn":"<slave-host>"},{"fqdn":"<slave-host>"}]}]}' -H
      "X-Requested-By:ambari" 
      http://<ambari-server host>:8080/api/v1/clusters/<cluster-name>

    • 这样就创建了集群名为<cluster-name>的集群了。调用后自己主动依照role_command_order.json中设置的顺序进行组件的安装、开启。创建成功后会返回例如以下状态:

      202 - Accepted

      {

          "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster/requests/1",

          "Requests" : {

          "id" : 1,

          "status" : "InProgress"

      }

    • 在浏览器中打开返回的链接,页面上显示的是每个安装、开启组件的任务的进度,假设没有出现失败的task。那么会staus更改为COMPLETED。证明集群创建成功。假设失败,能够通过task连接转到task页面查看失败信息。

Ambari-Blueprint介绍的更多相关文章

  1. AMBARI Blueprint 使用文档

    Introduction Notable JIRAs API Resources and Syntax Blueprint Usage Overview Step 0: Prepare Ambari ...

  2. 从零自学Hadoop(05):Ambari

    阅读目录 序 引入背景 Ambari介绍 在线安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...

  3. Flask 系列之 Blueprint

    说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 学习如何使用 Blueprint 介绍 接触过 DotN ...

  4. OSGI企业应用开发(四)使用Blueprint整合Spring框架(一)

    上篇文章中介绍了如何使用独立的Equinox发行包搭建OSGI运行环境,而不是依赖与具体的Eclipse基础开发工具,本文开始介绍如何使用Blueprint將Spring框架整合到OSGI中. 一.开 ...

  5. C#码农的大数据之路 - 使用C#编写MR作业

    系列目录 写在前面 从Hadoop出现至今,大数据几乎就是Java平台专属一般.虽然Hadoop或Spark也提供了接口可以与其他语言一起使用,但作为基于JVM运行的框架,Java系语言有着天生优势. ...

  6. 大数据学习之路------借助HDP SANDBOX开始学习

    一开始... 一开始知道大数据这个概念的时候,只是感觉很高大上,引起了我的兴趣.当时也不知道,这个东西是做什么的,有什么用,当然现在看来也是很模糊的样子,但是的确比一开始强了不少. 所以学习的过程可能 ...

  7. Ambari 自定义服务集成原理介绍

    之前,在 github 上开源了 ambari-Kylin 项目,可离线部署,支持 hdp 2.6+ 及 hdp 3.0+ .github 地址为:https://github.com/8418090 ...

  8. ambari介绍及安装

    Ambari简介 Ambari概述 Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的创建.管理和监控.Ambari已支持大多数Hadoop组件,包括HDFS.Ma ...

  9. Ambari 常用的 REST API 介绍

    源码文档路径:ambari\ambari-server\docs\api\v1 swagger风格api文档:https://www.cnblogs.com/felixzh/p/10694724.ht ...

  10. Ambari REST API 使用介绍 - How To: Use Swagger with Ambari (Explore Ambari REST)

    How To: Use Swagger with Ambari (Explore Ambari REST) Article Note : This feature is available from ...

随机推荐

  1. java 利用Xstream注解生成和解析xml

    https://www.oschina.net/code/snippet_116183_14202#23325

  2. BPI-M1P(全志A20)刷Android启动卡之后启动的过程

    http://blog.csdn.net/wb4916/article/details/78031511BPI-M1P(全志A20)刷Android启动卡之后启动的过程 BPI-M1P(全志A20)刷 ...

  3. AndroidStudio3.0 Canary 8注解报错Annotation processors must be explicitly declared now.

    体验最新版AndroidStudio3. Canary 8的时候,发现之前项目的butter knife报错,用到注解的应该都会报错 Error:Execution failed for task ' ...

  4. python与arduino串口通讯对接opencv实现智能物品分拣

    2018-05-0118:53:50 先上图: 再来视频: http://v.youku.com/v_show/id_XMzU3NzAwNzMyNA==.html?spm=a2hzp.8244740. ...

  5. 人人都能读懂的css3 3d小demo

    css3 3d案例总结 最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家.就把最近做的比较好的给大家分享下 1.旋转拼图 首先看下效果 代码主要由HTML和CSS3组成,应该说还是比较简 ...

  6. sqlserver如何查询一个表的主键都是哪些表的外键

    select object_name(a.parent_object_id) 'tables'  from sys.foreign_keys a  where a.referenced_object_ ...

  7. golang tar gzip 压缩,解压(含目录文件)

    tar是用于文件归档,gzip用于压缩.仅仅用tar的话,达不到压缩的目的.我们常见的tar.gz就是用gzip压缩生成的tar归档文件. go实现tar压缩与解压与zip类似,区别在于tar需要使用 ...

  8. 使用CocoaPods,文档中出现引用头文件找不到的问题。

    现在很多人都会使用CocoaPods来管理自己使用的第三方开源代码,这两天我的工程中碰到了这样一个问题,当我使用CocoaPods来进行三方源码的引入,但是在实际的工程当中引入出现了这样一个问题,就是 ...

  9. datatable 分组

    public static void PrintPersons() { //准备数据 DataTable dt = new DataTable(); dt.Columns.Add(new DataCo ...

  10. 前端安全 xss

    整体的 XSS 防范是非常复杂和繁琐的,不仅需要在全部需要转义的位置,对数据进行对应的转义.而且要防止多余和错误的转义,避免正常的用户输入出现乱码. 虽然很难通过技术手段完全避免 XSS,但可以总结以 ...