コード例 #1
0
 updateClusterData: function () {
   var testUrl = App.get('isHadoop2Stack') ? '/data/clusters/HDP2/cluster.json':'/data/clusters/cluster.json';
   var clusterUrl = this.getUrl(testUrl, '?fields=Clusters');
   App.HttpClient.get(clusterUrl, App.clusterMapper, {
     complete:function(){}
   });
 }
コード例 #2
0
ファイル: update_controller.js プロジェクト: wbear2/ambari
 updateComponentConfig: function (callback) {
   var testUrl = '/data/services/host_component_stale_configs.json';
   var componentConfigUrl = this.getUrl(testUrl, '/components?ServiceComponentInfo/category.in(SLAVE,CLIENT)&host_components/HostRoles/stale_configs=true&fields=host_components/HostRoles/service_name,host_components/HostRoles/state,host_components/HostRoles/maintenance_state,host_components/HostRoles/host_name,host_components/HostRoles/stale_configs&minimal_response=true');
   App.HttpClient.get(componentConfigUrl, App.componentConfigMapper, {
     complete: callback
   });
 },
コード例 #3
0
ファイル: update_controller.js プロジェクト: wbear2/ambari
 updateServices: function (callback) {
   var testUrl = '/data/services/HDP2/services.json';
   var componentConfigUrl = this.getUrl(testUrl, '/services?fields=alerts/summary,ServiceInfo/state,ServiceInfo/maintenance_state&minimal_response=true');
   App.HttpClient.get(componentConfigUrl, App.serviceMapper, {
     complete: callback
   });
 },
コード例 #4
0
ファイル: update_controller.js プロジェクト: wbear2/ambari
  updateComponentsState: function (callback) {
    var testUrl = '/data/services/HDP2/components_state.json';
    var realUrl = '/components/?ServiceComponentInfo/category.in(SLAVE,CLIENT)&fields=ServiceComponentInfo/service_name,' +
      'ServiceComponentInfo/installed_count,ServiceComponentInfo/started_count,ServiceComponentInfo/total_count&minimal_response=true';
    var url = this.getUrl(testUrl, realUrl);

    App.HttpClient.get(url, App.componentsStateMapper, {
      complete: callback
    });
  }
コード例 #5
0
ファイル: update_controller.js プロジェクト: wbear2/ambari
    var clientCallback = function (skipCall, queryParams) {
      if (skipCall) {
        //no hosts match filter by component
        App.hostsMapper.map({
          items: [],
          itemTotal: '0'
        });
        callback();
      }
      else {
        var params = self.computeParameters(queryParams),
          paginationProps = self.computeParameters(queryParams.filter(function (param) {
            return (this.get('paginationKeys').contains(param.key));
          }, self)),
          sortProps = self.computeParameters(sortProperties);

        if ((params.length + paginationProps.length + sortProps.length) > 0) {
          realUrl = App.get('apiPrefix') + '/clusters/' + App.get('clusterName') +
            realUrl.replace('<parameters>', '') +
            (paginationProps.length > 0 ? '&' + paginationProps.substring(0, paginationProps.length - 1) : '') +
            (sortProps.length > 0 ? '&' + sortProps.substring(0, sortProps.length - 1) : '');
          App.HttpClient.get(realUrl, App.hostsMapper, {
            complete: callback,
            doGetAsPost: true,
            params: params.substring(0, params.length - 1),
            error: error
          });
        }
        else {
          var hostsUrl = self.getComplexUrl(testUrl, realUrl, queryParams);
          App.HttpClient.get(hostsUrl, App.hostsMapper, {
            complete: callback,
            doGetAsPost: false,
            error: error
          });
        }
      }
    };
コード例 #6
0
ファイル: update_controller.js プロジェクト: wbear2/ambari
  updateServiceMetric: function (callback) {
    var self = this;
    self.set('isUpdated', false);

    var conditionalFields = this.getConditionalFields(),
      conditionalFieldsString = conditionalFields.length > 0 ? ',' + conditionalFields.join(',') : '',
      testUrl = App.get('isHadoop2Stack') ? '/data/dashboard/HDP2/master_components.json' : '/data/dashboard/services.json',
      isFlumeInstalled = App.cache['services'].mapProperty('ServiceInfo.service_name').contains('FLUME'),
      isATSInstalled = App.cache['services'].mapProperty('ServiceInfo.service_name').contains('YARN') && App.get('isHadoop21Stack'),
      flumeHandlerParam = isFlumeInstalled ? 'ServiceComponentInfo/component_name=FLUME_HANDLER|' : '',
      atsHandlerParam = isATSInstalled ? 'ServiceComponentInfo/component_name=APP_TIMELINE_SERVER|' : '',
      haComponents = App.get('isHaEnabled') ? 'ServiceComponentInfo/component_name=JOURNALNODE|' : '',
      realUrl = '/components/?' + flumeHandlerParam + atsHandlerParam + haComponents +
        'ServiceComponentInfo/category=MASTER&fields=' +
        'ServiceComponentInfo/Version,' +
        'ServiceComponentInfo/StartTime,' +
        'ServiceComponentInfo/HeapMemoryUsed,' +
        'ServiceComponentInfo/HeapMemoryMax,' +
        'ServiceComponentInfo/service_name,' +
        'host_components/HostRoles/host_name,' +
        'host_components/HostRoles/state,' +
        'host_components/HostRoles/maintenance_state,' +
        'host_components/HostRoles/stale_configs,' +
        'host_components/metrics/jvm/memHeapUsedM,' +
        'host_components/metrics/jvm/HeapMemoryMax,' +
        'host_components/metrics/jvm/HeapMemoryUsed,' +
        'host_components/metrics/jvm/memHeapCommittedM,' +
        'host_components/metrics/mapred/jobtracker/trackers_decommissioned,' +
        'host_components/metrics/cpu/cpu_wio,' +
        'host_components/metrics/rpc/RpcQueueTime_avg_time,' +
        'host_components/metrics/dfs/FSNamesystem/*,' +
        'host_components/metrics/dfs/namenode/Version,' +
        'host_components/metrics/dfs/namenode/DecomNodes,' +
        'host_components/metrics/dfs/namenode/TotalFiles,' +
        'host_components/metrics/dfs/namenode/UpgradeFinalized,' +
        'host_components/metrics/dfs/namenode/Safemode,' +
        'host_components/metrics/runtime/StartTime' +
        conditionalFieldsString +
        '&minimal_response=true';

    var servicesUrl = this.getUrl(testUrl, realUrl);
    callback = callback || function () {
      self.set('isUpdated', true);
    };
    App.HttpClient.get(servicesUrl, App.serviceMetricsMapper, {
      complete: function () {
        callback();
      }
    });
  },
コード例 #7
0
  loadUpdatedStatus: function(callback){

    if(!this.get('clusterName')){
      callback();
      return false;
    }
    var testUrl = App.get('isHadoop2Stack') ? '/data/dashboard/HDP2/services.json':'/data/dashboard/services.json';
    //desired_state property is eliminated since calculateState function is commented out, it become useless
    var servicesUrl = this.getUrl(testUrl, '/services?fields=ServiceInfo,components/host_components/HostRoles/state,components/host_components/HostRoles/ha_status');

    App.HttpClient.get(servicesUrl, App.statusMapper, {
      complete: callback
    });
    return true;
  },
コード例 #8
0
ファイル: apps_controller.js プロジェクト: wbear2/ambari
  loadRuns:function () {

    this.set('loading', true);
    var self = this;

    //var runsUrl = App.testMode ? "/data/apps/runs.json" : App.apiPrefix + "/jobhistory/workflow?orderBy=startTime&sortDir=DESC&limit=" + App.maxRunsForAppBrowser;
    var runsUrl = App.testMode ? "/data/apps/runs.json" : App.apiPrefix + this.get("runUrl");

    App.HttpClient.get(runsUrl, App.runsMapper, {
      complete:function (jqXHR, textStatus) {
        self.set('loading', false);
        self.set('loaded', true);
      }
    });
  },
コード例 #9
0
ファイル: item_controller.js プロジェクト: wbear2/ambari
  gettingJobs:function(){
    var currentId = this.get('content.id');
    if(this.get('content.loadAllJobs')){
      return;
    }
    var self = this;

    var url = App.testMode ? '/data/apps/jobs/'+ currentId +'.json' :
      App.apiPrefix + "/jobhistory/job?workflowId=" + currentId;

    var mapper = App.jobsMapper;
    mapper.set('controller', this);
    App.HttpClient.get(url, mapper,{
      complete:function(jqXHR, textStatus) {
        self.set('content.loadAllJobs', true);
      }
    });
  }.observes('content')
コード例 #10
0
ファイル: jobs_controller.js プロジェクト: wbear2/ambari
 loadJobs : function() {
   var self = this;
   var timeout = this.get('loadTimeout');
   var yarnService = App.YARNService.find().objectAt(0);
   var retryLoad = this.checkDataLoadingError();
   if (yarnService != null) {
     this.set('loading', true);
     var historyServerHostName = yarnService.get('appTimelineServer.hostName');
     var filtersLink = this.get('filterObject').createJobsFiltersLink();
     var hiveQueriesUrl = App.testMode ? "/data/jobs/hive-queries.json" : "/proxy?url=http://" + historyServerHostName
       + ":" + yarnService.get('ahsWebPort') + "/ws/v1/timeline/HIVE_QUERY_ID" + filtersLink;
     App.ajax.send({
       name: 'jobs.lastID',
       sender: self,
       data: {
         historyServerHostName: historyServerHostName,
         ahsWebPort: yarnService.get('ahsWebPort')
       },
       success: 'lastIDSuccessCallback',
       error : 'lastIDErrorCallback'
     }),
     App.HttpClient.get(hiveQueriesUrl, App.hiveJobsMapper, {
       complete : function(data, jqXHR, textStatus) {
         self.set('loading', false);
         if(self.get('loaded') == false || self.get('resetPagination') == true){
           self.initializePagination();
           self.set('resetPagination', false);
         }
         self.set('loaded', true);
       }
     }, function (jqXHR, textStatus) {
       App.hiveJobsMapper.map({entities : []});
       self.checkDataLoadingError(jqXHR);
     });
   }else{
     clearTimeout(timeout);
     timeout = setTimeout(function(){
       self.loadJobs();
     }, 300);
   }
 },
コード例 #11
0
 loadAlerts:function (callback) {
   if (this.get('isNagiosInstalled')) {
     var testUrl = App.get('isHadoop2Stack') ? '/data/alerts/HDP2/alerts.json':'/data/alerts/alerts.json';
     var dataUrl = this.getUrl(testUrl, '/host_components?fields=HostRoles/nagios_alerts&HostRoles/component_name=NAGIOS_SERVER');
     var self = this;
     var ajaxOptions = {
       dataType:"json",
       complete:function () {
         self.updateAlerts();
         callback();
       },
       error: function(jqXHR, testStatus, error) {
         console.log('Nagios $.ajax() response:', error);
       }
     };
     App.HttpClient.get(dataUrl, App.alertsMapper, ajaxOptions);
   } else {
     console.log("No Nagios URL provided.");
     callback();
   }
 },
コード例 #12
0
  loadClusterData:function () {
    var self = this;
    this.loadAmbariProperties();
    if (!this.get('clusterName')) {
      return;
    }

    if(this.get('isLoaded')) { // do not load data repeatedly
      return;
    }
    var clusterUrl = this.getUrl('/data/clusters/cluster.json', '?fields=Clusters');
    var testHostUrl =  App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json':'/data/hosts/hosts.json';
    var hostsUrl = this.getUrl(testHostUrl, '/hosts?fields=Hosts/host_name,Hosts/public_host_name,Hosts/disk_info,Hosts/cpu_count,Hosts/total_mem,Hosts/host_status,Hosts/last_heartbeat_time,Hosts/os_arch,Hosts/os_type,Hosts/ip,host_components,metrics/disk,metrics/load/load_one');
    var usersUrl = App.testMode ? '/data/users/users.json' : App.apiPrefix + '/users/?fields=*';
    var racksUrl = "/data/racks/racks.json";
    var dataSetUrl = "/data/mirroring/all_datasets.json";
    var targetClusterUrl = "/data/mirroring/target_clusters.json";

    App.HttpClient.get(targetClusterUrl, App.targetClusterMapper, {
      complete: function (jqXHR, textStatus) {
        self.updateLoadStatus('targetclusters');
      }
    }, function (jqXHR, textStatus) {
      self.updateLoadStatus('targetclusters');
    });


    App.HttpClient.get(dataSetUrl, App.dataSetMapper, {
      complete: function (jqXHR, textStatus) {
        self.updateLoadStatus('datasets');
      }
    }, function (jqXHR, textStatus) {
      self.updateLoadStatus('datasets');
    });

    App.HttpClient.get(racksUrl, App.racksMapper, {
      complete:function (jqXHR, textStatus) {
        self.updateLoadStatus('racks');
      }
    }, function (jqXHR, textStatus) {
      self.updateLoadStatus('racks');
    });

    App.HttpClient.get(clusterUrl, App.clusterMapper, {
      complete:function (jqXHR, textStatus) {
        self.updateLoadStatus('cluster');
      }
    }, function (jqXHR, textStatus) {
        self.updateLoadStatus('cluster');
    });

    if (App.testMode) {
      self.updateLoadStatus('clusterStatus');
    } else {
      App.clusterStatus.updateFromServer(true).complete(function() {
        self.updateLoadStatus('clusterStatus');
      });
    }
    
    App.HttpClient.get(hostsUrl, App.hostsMapper, {
      complete:function (jqXHR, textStatus) {
        self.updateLoadStatus('hosts');
      }
    }, function (jqXHR, textStatus) {
        self.updateLoadStatus('hosts');
    });

    App.HttpClient.get(usersUrl, App.usersMapper, {
      complete:function (jqXHR, textStatus) {
        self.updateLoadStatus('users');
      }
    }, function (jqXHR, textStatus) {
        self.updateLoadStatus('users');
    });

    App.router.get('updateController').updateServiceMetric(function(){
      self.loadUpdatedStatus(function(){
        self.updateLoadStatus('status');
      });
      self.updateLoadStatus('services');
    }, true);

    this.loadAlerts(function(){
        self.updateLoadStatus('alerts');
    });
  },