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. .net面试题 2016

    经典面试题2016——50题 1.面向对象语言具有——继承性——,——封装性——,——多态性—— 继承性:就是让一个类型的对象拥有另一个类型的对象的属性的方法.继承后,子类拥有父类的属性和方法. 封装 ...

  2. php循环结构

    1.while循环 先判断条件,如果条件成立则执行循环的代码 嵌套循环,需要先把嵌套在内的循环执行完毕再执行外面的循环 While(条件语句){......} //如果()条件成立,执行{}里面的语句 ...

  3. [ USACO 2001 OPEN ] 地震

    \(\\\) Description​ 给出一张 \(n\) 个点 \(m\) 条边的无向图,现在要建一棵生成树. 每条边都有消耗的时间 \(t_i\),也有建造的代价 \(w_i\) . 最后总金给 ...

  4. poj1240 Pre-Post-erous!

    思路: 根据前序序列和后序序列递归构造m叉树,确定每个节点的子节点数量.再用组合数公式累乘. 实现: #include <iostream> using namespace std; ][ ...

  5. 阿里云机器学习tensorflow实践

    1,前言 伴随人工智能和深度学习的应用越来越普及,越来越多的开发人员开始投入到智能算法的编程中.由于算法成熟且公开,软件编码这一块不存在难度:但模型训练和预测所需的时间与硬件设备的配置有极大关系,很多 ...

  6. 【Python-2.7】大小写转换函数

    字母大小写是编程过程中经常遇到的问题,如下函数可以灵活的进行大小写转换: title():把单词首字母转换为大写: upper():把每个字母转换为大写: lower():把每个字母转换为小写. 示例 ...

  7. c# 常用 Common

    /// <summary> /// md5加密字符串 /// </summary> /// <param name="message">< ...

  8. git 的 基础操作及使用

    /* git svn版本控制器 */ /*git把文件对应的储存空间分为三个区: 1.工作区 2.缓存区 3.历史区 直接操作文件,不做add时,咱们是在工作区做的修改 右键 git bash her ...

  9. 母牛的故事(hdoj 2018,动态规划递推,详解)

    有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Sample Input2450Sample Output246 / ...

  10. Java中对象流使用的一个注意事项

    再写jsp的实验作业的时候,需要用到java中对象流,但是碰到了之前没有遇到过的情况,改bug改到崩溃!!记录下来供大家分享 如果要用对象流去读取一个文件,一定要先判断这个文件的内容是否为空,如果为空 ...