热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大象跳舞系列之SparkonHDInsight(2)

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

第一部分介绍了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大数据分析平台,如何准备数据,如何部署应用。


推荐阅读
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文介绍了MySQL窗口函数的基本概念、应用场景及常见函数的使用方法。窗口函数在处理复杂查询时非常有用,例如计算每个用户的订单排名、环比增长率、以及动态聚合等。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
author-avatar
小秋秋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有