Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

METRON-2332 Enable Tuning of the Profiler's Parallelism from Ambari #1574

Closed
wants to merge 3 commits into from

Conversation

nickwallen
Copy link
Contributor

@nickwallen nickwallen commented Dec 4, 2019

When running the Streaming Profiler in Storm, tuning the parallelism of each component requires a user to edit the Flux file at $METRON_HOME/flux/profiler/remote.yaml. This change allows a user to tune the parallelism from within Ambari like the other topologies.

Changes

  1. Added a parameter to the MPack for tuning the Profiler's Spout parallelism.
  2. Added a parameter to the MPack for tuning the Profile's Splitter parallelism.
  3. Added a parameter to the MPack for tuning the Profile's Builder parallelism.
  4. Added a parameter to the MPack for tuning the Profiler's Kafka Writer parallelism.
  5. Added a parameter to the MPack for tuning the Profiler's HBase Writer parallelism.
  6. Updated the documentation for each of these new parameters.
  7. Renamed profiler.executors to profiler.acker.executors as this more accurately reflects the use of this parameter.

Try It Out

  1. Launch the development environment.

  2. Kill the Profiler

    storm kill profiler -w 0
    
  3. Go to Ambari > Metron > Config > Profiler.

    • Reduce the Profile Period to 1 minute.

    • Alter the Spout, Splitter, Builder, Kafka Writer, and HBase Writer parallelism values to something other than the default of 1.

    Screen Shot 2019-12-04 at 6 37 49 PM

  4. Restart the Profiler.

  5. Open the Storm UI and ensure the parallelism values were accepted by Storm.

    Screen Shot 2019-12-04 at 6 38 05 PM

  6. Test a profile in the REPL according to these instructions.

  7. Deploy that profile to the Streaming Profiler in Storm.

    [Stellar]>>> CONFIG_PUT("PROFILER", conf)
    
  8. Wait for the Streaming Profiler in Storm to flush and retrieve the measurement from HBase.

    Retrieve the measurement from HBase. Prior to this PR, it was not possible to query HBase from the REPL.

    [Stellar]>>> PROFILE_GET("hello-world","global", PROFILE_FIXED(30, "DAYS"))
    [1611, 420, 405, 435, 435, 420, 450]
    

Pull Request Checklist

  • Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
  • Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
  • Has your PR been rebased against the latest commit within the target branch (typically master)?
  • Have you included steps to reproduce the behavior or problem that is being changed or addressed?
  • Have you included steps or a guide to how the change may be verified and tested manually?
  • Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
  • Have you written or updated unit tests and or integration tests to verify your changes?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

@anandsubbu
Copy link
Contributor

+1.

Works as described! Spun up full dev and was able to make the changes as per the PR description. This is really useful, thanks @nickwallen

@asfgit asfgit closed this in 19dd9b1 Dec 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants