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. php循环结构

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

  2. phpstudy初级总结

    1.问题一 问题症状:访问http://localhost/phpMyWind/install/不出现安装或登录页面 考虑一下情况: 1.是否打开了PHPstudy, (当Apache不能启用时,考虑 ...

  3. Spinner实现列表下拉功能

    public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { ...

  4. POJ_2239_Selecting Courses

    题意:一周上7天课,每天12节课,学校最多开设300节不同的课,每周每种课可以只有一个上课时间或者多个上课时间(上课内容一样),问一周最多可以选多少节课. 分析:二分图最大匹配,将一周84个时间点和可 ...

  5. Jmeter的属性和变量

    jmeter的属性和变量可以简单理解为编程里面的全局变量和局部变量.属性是全局可见,可以跨线程组传递调用,而变量基本上只能存在于一个线程组中(在测试计划定义的变量也是可以跨线程组传递的).同线程组内的 ...

  6. python3 操作excel表

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库可从这里下载https://pypi.python.org/pypi.下面分别记录py ...

  7. Clistctrl使用

    CListCtrl控件使用方法总结 今天第一次用CListCtrl控件,遇到不少问题,查了许多资料,现将用到的一些东西总结如下: 以下未经说明,listctrl默认view 风格为report 相关类 ...

  8. ThinkPHP---thinkphp文件加载

    [一]文件加载在ThinkPHP里提供了三种方式 实际开发里,文件加载方式一般以第一种为主(通过函数库形式自动加载,此时我们仅仅需要定义文件和函数) (1)函数库形式加载 函数库分3种级别,系统函数库 ...

  9. dorado 7 使用总结

    最近项目上需要,使用了dorado 7 ,总体感觉还可以,快速开发很方便,然而在方便的同时,难免有些太过繁琐,很多东西都封装了起来,会造成很多不便.因此快速开发的项目可以使用,其它的不推荐.现在打算将 ...

  10. Extjs定时操作

    查看api可知: // 启动一个简单的时钟任务,每秒执行一次更新一个 div var task = { run: function(){ Ext.fly('clock').update(new Dat ...