大象跳舞系列之Spark on HDInsight (2)

第一部分介绍了Spark的特性,HDInsight以及如何快速创建Spark集群,本节主要介绍如何管理和监控Spark集群:

  • HDInsight的监控和管理
    • 使用Ambari界面进行集群管理
    • 使用Ambari REST API进行监控管理
    • YARN界面管理

Ambari是一个Apache开源项目,通过提供图形化界面简化对Hadoop集群进行部署,管理和监控, 同时它也提供REST API给第三方的程序进行整合集成。在HDInsight Windows版本中,只提供RESTful API,而在目前的Linux版本中,提供完整的Ambari的支持,在中国区,你可以通过如下地址来访问Ambari:

https://YOURCLUSTERNAME.azurehdinsight.cn

例如我的访问URL就是:

https://hdilinux.azurehdinsight.cn

使用Ambari对Spark集群的监控和管理

 

  1. 进入你的Spark集群的Overview界面的仪表板,可以看到如下图标,单击"Ambari视图",既可以进入Ambari管理界面,在弹出的对话框中输入你在创建时设置的用户名和密码,即会登入Ambari系统:

  2. 登录到Ambari之后,默认的视图是Spark集群帮你自动创建的Hive,YARN和Tze界面,借助于这些视图,你可以对你的数据进行快速的浏览,查询:

  3. 我们以Hive视图为例,打开Hive视图,会默认帮你打开一个Hive SQL编辑器,左侧是目前集群里面Hive的数据库和表,,你点开默认的数据库,可以看到已经存在了一张hivesampletable的表:

  4. 你可以输入Hive语句进行查询,例如输入如下语句,进行执行,可以看到查询结果:

    select hvsample.market,

         hvsample.deviceplatform,

         hvsample.devicemake,

         hvsample.devicemodel,

         hvsample.state,

         hvsample.country

    from hivesampletable

         as hvsample;

     

     

  5. 数据的可视化,你也可以在Hive视图中非常快速的进行数据的可视化操作,点击右侧图形化按钮,按照你的需要,拖拽相应的数据列即可快速显示柱状图,饼图,折线图等等预置的图形:

     

  6. 单击Ambari的上侧的"Dashboard"登陆进去之后,你就可以看到经典的Ambari仪表板视图,左侧是当前运行的Hadoop服务,右侧是数据图表:

    你也可以单击单独的图标,了解当前指标的详情,例如CPU的usage:

  7. 如果你想了解单个服务的具体状态,也可以单击左侧服务,那么该服务的汇总信息,具体的指标也会显示出来,以HDFS为例,你可以看到他的当前状态,负载等情况:

     

  8. 如果你相对该服务和集群执行关闭,重启等等管理操作,你可以看到,界面右侧有一个"Actions"按钮,在该部分就可以对该服务执行停止,删除,切换到维护模式等等管理操作:

     

  9. 针对单个的主机,我们可以选择hosts界面,看到目前运行的主机,如果需要了解单个主机的运行状况,只需要点击该主机名称,就可以看到该主机上运行服务的状态,CPU和存储负载,:

     

使用Ambari REST API对Spark集群的监控和管理

Ambari的图形化界面非常直观,但有些时候开发人员系统能够把Ambari的这种管理能力集成进自己的应用程序中,这个时候就可以使用Ambari提供的REST API进行调用和处理。

你可以使用任何你喜欢的开发语言的REST SDK进行调用,也可以使用一些命令行工具进行测试,例如Linux下你可以使用curl,windows下你可以使用Powershell,在本例中,我使用Chrome浏览器的一个REST插件进行测试。

  1. 打开Chrome浏览器插件安装界面,搜索YARC(Yet Another Rest Client)并进行安装:

    https://chrome.google.com/webstore/search/REST?hl=en-US

     

  2. 打开YARC,在URL部分输入你的集群的名称+API调用接口,单击"Authentication",单击"add Credentials",输入你的Ambari的用户名个密码:

    https://$CLUSTERNAME.azurehdinsight.net/api/v1/clusters/$CLUSTERNAME

  1. 单击执行,如果一切正常的话,你会看到Ambari返回来的大量信息,说明你的调用时成功的:

  2. 利用REST API你就可以获得相关信息,或者进行和Ambari界面一样的操作,我们来举个例子,例如如何获取头结点的相关信息,首先在REST URL添加你的请求:

    https://hdilinux.azurehdinsight.cn/api/v1/clusters/hdilinux/services/HDFS/components/NAMENODE

     

    然后执行调用请求,在返回的结果中,找到host_components信息,你就可以看到相关的头结点信息:

"host_components": [

{ "href": "http://10.0.0.12:8080/api/v1/clusters/hdilinux/hosts/hn0-hdilin.m0fty5dl4yzebkzzslvgfqrb5c.bx.internal.chinacloudapp.cn/host_components/NAMENODE",

"HostRoles": {

"cluster_name": "hdilinux",

"component_name": "NAMENODE",

"host_name": "hn0-hdilin.m0fty5dl4yzebkzzslvgfqrb5c.bx.internal.chinacloudapp.cn" }

},

{

"href": "http://10.0.0.12:8080/api/v1/clusters/hdilinux/hosts/hn1-hdilin.m0fty5dl4yzebkzzslvgfqrb5c.bx.internal.chinacloudapp.cn/host_components/NAMENODE",

"HostRoles": {

"cluster_name": "hdilinux",

"component_name": "NAMENODE",

"host_name": "hn1-hdilin.m0fty5dl4yzebkzzslvgfqrb5c.bx.internal.chinacloudapp.cn" }

} ]

YARN界面管理

如果你希望直接看到经典的YARN界面进行监控和管理,Spark on HDInsight集群也提供了这种能力。

  1. 在Azure新的管理界面上选择HDInsight的仪表板,单击群集仪表板:

     

    在对下框的最下端就可以看到YARN的链接,单击YARN:

  2. 就可以看到经典的Hadoop界面,你可以查看节点信息,服务信息,应用信息等:

     

    下一部分将介绍对于HDInsight大数据分析平台,如何准备数据,如何部署应用。

posted on 2017-03-18 22:38  StevenLian  阅读(483)  评论(0编辑  收藏  举报

导航