第一部分介绍了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集群的监控和管理
-
进入你的Spark集群的Overview界面的仪表板,可以看到如下图标,单击"Ambari视图",既可以进入Ambari管理界面,在弹出的对话框中输入你在创建时设置的用户名和密码,即会登入Ambari系统:
-
登录到Ambari之后,默认的视图是Spark集群帮你自动创建的Hive,YARN和Tze界面,借助于这些视图,你可以对你的数据进行快速的浏览,查询:
-
我们以Hive视图为例,打开Hive视图,会默认帮你打开一个Hive SQL编辑器,左侧是目前集群里面Hive的数据库和表,,你点开默认的数据库,可以看到已经存在了一张hivesampletable的表:
-
你可以输入Hive语句进行查询,例如输入如下语句,进行执行,可以看到查询结果:
select hvsample.market,
hvsample.deviceplatform,
hvsample.devicemake,
hvsample.devicemodel,
hvsample.state,
hvsample.country
from hivesampletable
as hvsample;
-
数据的可视化,你也可以在Hive视图中非常快速的进行数据的可视化操作,点击右侧图形化按钮,按照你的需要,拖拽相应的数据列即可快速显示柱状图,饼图,折线图等等预置的图形:
-
单击Ambari的上侧的"Dashboard"登陆进去之后,你就可以看到经典的Ambari仪表板视图,左侧是当前运行的Hadoop服务,右侧是数据图表:
你也可以单击单独的图标,了解当前指标的详情,例如CPU的usage:
-
如果你想了解单个服务的具体状态,也可以单击左侧服务,那么该服务的汇总信息,具体的指标也会显示出来,以HDFS为例,你可以看到他的当前状态,负载等情况:
-
如果你相对该服务和集群执行关闭,重启等等管理操作,你可以看到,界面右侧有一个"Actions"按钮,在该部分就可以对该服务执行停止,删除,切换到维护模式等等管理操作:
-
针对单个的主机,我们可以选择hosts界面,看到目前运行的主机,如果需要了解单个主机的运行状况,只需要点击该主机名称,就可以看到该主机上运行服务的状态,CPU和存储负载,:
使用Ambari REST API对Spark集群的监控和管理
Ambari的图形化界面非常直观,但有些时候开发人员系统能够把Ambari的这种管理能力集成进自己的应用程序中,这个时候就可以使用Ambari提供的REST API进行调用和处理。
你可以使用任何你喜欢的开发语言的REST SDK进行调用,也可以使用一些命令行工具进行测试,例如Linux下你可以使用curl,windows下你可以使用Powershell,在本例中,我使用Chrome浏览器的一个REST插件进行测试。
-
打开Chrome浏览器插件安装界面,搜索YARC(Yet Another Rest Client)并进行安装:
https://chrome.google.com/webstore/search/REST?hl=en-US
-
打开YARC,在URL部分输入你的集群的名称+API调用接口,单击"Authentication",单击"add Credentials",输入你的Ambari的用户名个密码:
https://$CLUSTERNAME.azurehdinsight.net/api/v1/clusters/$CLUSTERNAME
-
单击执行,如果一切正常的话,你会看到Ambari返回来的大量信息,说明你的调用时成功的:
-
利用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集群也提供了这种能力。
-
在Azure新的管理界面上选择HDInsight的仪表板,单击群集仪表板:
在对下框的最下端就可以看到YARN的链接,单击YARN:
-
就可以看到经典的Hadoop界面,你可以查看节点信息,服务信息,应用信息等:
下一部分将介绍对于HDInsight大数据分析平台,如何准备数据,如何部署应用。
所有评论(0)