前言
上次的impala状况出现后,决定自己做一套impala的管理系统,那么首先面临的一个问题就是获取impala的各种状态,比如任务执行状态。经过一天多的尝试,总结一下。
hue:可以使用hue的脚本,hue使用python编写,其中有一个beeswax模块,负责任务的执行等。缺点是没发现java的api。
cloudera manager java api:java可以调用cm原生的api,需要导入jar包。跑是跑通了,但是资料太说,目前只能通过这个接口获取集群的基本情况,不想再折腾impala那快了。
cloudera manager 的api:cm提供了rest的api供别人调用,经过接近一天的折腾,跑通了这一块。
Cloudera Manager API
impala相关
和impala相关的api有下面这几个,能用上的主要是最下面带queries的几个接口:
/clusters/{clusterName}/services/{serviceName}/commands/hueSyncDb
/clusters/{clusterName}/services/{serviceName}/commands/impalaCreateCatalogDatabase
/clusters/{clusterName}/services/{serviceName}/commands/impalaCreateCatalogDatabaseTables
/clusters/{clusterName}/services/{serviceName}/commands/impalaCreateUserDir
/clusters/{clusterName}