Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-24499

Ambari Blueprint deployments fail with multiple TIMELINE_READER instances

    XMLWordPrintableJSON

Details

    Description

      The BlueprintConfigurationProcessor does not current handle the case of multiple Yarn TIMELINE_READER instances properly.  

      Generally, only a singleton instance of the TIMELINE_READER instance is deployed, but there might be scenarios in which customers will choose to deploy more than one instance, with just one instance running at a given time.  

      Currently, deploying a Blueprint with multiple TIMELINE_READER instances fails with the following exception: 

      java.lang.IllegalArgumentException: Unable to update configuration property 'yarn.timeline-service.reader.webapp.address' with topology information. Component 'TIMELINE_READER' is mapped to an invalid number of hosts '2'.
      at org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor$SingleHostTopologyUpdater.updateForClusterCreate(BlueprintConfigurationProcessor.java:1945)
      at org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.updateValue(BlueprintConfigurationProcessor.java:739)
      at org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.doGeneralPropertyUpdatesForClusterCreate(BlueprintConfigurationProcessor.java:641)
      at org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.doUpdateForClusterCreate(BlueprintConfigurationProcessor.java:443)
      at org.apache.ambari.server.topology.ClusterConfigurationRequest.process(ClusterConfigurationRequest.java:152)
      at org.apache.ambari.server.topology.tasks.ConfigureClusterTask.call(ConfigureClusterTask.java:80)
      at org.apache.ambari.server.security.authorization.internal.InternalAuthenticationInterceptor.invoke(InternalAuthenticationInterceptor.java:45)
      at org.apache.ambari.server.topology.tasks.ConfigureClusterTask.call(ConfigureClusterTask.java:45)
      at org.apache.ambari.server.security.authorization.internal.InternalAuthenticationInterceptor.invoke(InternalAuthenticationInterceptor.java:45)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      The BlueprintConfiguration processor should be updated to allow for more than one TIMELINE_READER instance to be deployed. This assumes that the Blueprint developer will set any Yarn properties required that point towards the TIMELINE_READER instance, including the usage of HOSTGROUP properties.

      Attachments

        Activity

          People

            bsari Balázs Bence Sári
            rnettleton Bob Nettleton
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h
                1h