-
Notifications
You must be signed in to change notification settings - Fork 505
METRON-2177 Upgrade Profiler for HBase 2.0.2 #1458
METRON-2177 Upgrade Profiler for HBase 2.0.2 #1458
Conversation
nickwallen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments to help guide reviewers.
...ron-profiler-client/src/main/java/org/apache/metron/profiler/client/HBaseProfilerClient.java
Show resolved
Hide resolved
...filer-client/src/main/java/org/apache/metron/profiler/client/HBaseProfilerClientFactory.java
Show resolved
Hide resolved
...s/metron-profiler-client/src/main/java/org/apache/metron/profiler/client/ProfilerClient.java
Show resolved
Hide resolved
...tron-profiler-client/src/main/java/org/apache/metron/profiler/client/stellar/GetProfile.java
Show resolved
Hide resolved
...profiler-client/src/test/java/org/apache/metron/profiler/client/HBaseProfilerClientTest.java
Show resolved
Hide resolved
...-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/GetProfileTest.java
Show resolved
Hide resolved
...filer-spark/src/main/java/org/apache/metron/profiler/spark/function/HBaseWriterFunction.java
Show resolved
Hide resolved
...on-analytics/metron-profiler-storm/src/main/java/org/apache/metron/hbase/bolt/HBaseBolt.java
Show resolved
Hide resolved
...torm/src/test/java/org/apache/metron/profiler/storm/integration/ProfilerIntegrationTest.java
Outdated
Show resolved
Hide resolved
...mon/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/BaseFunctionResolver.java
Show resolved
Hide resolved
|
Any other feedback on this @mmiklavc? |
|
I ran through the testing instructions and hit some problems with the Batch Profiler. First error I ran into was this: The same I am able to get past that error but then I run into this error: |
mmiklavc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This upgrade has been a pretty big lift, thanks @nickwallen.
...ron-profiler-client/src/main/java/org/apache/metron/profiler/client/HBaseProfilerClient.java
Show resolved
Hide resolved
...n-profiler-client/src/main/java/org/apache/metron/profiler/client/ProfilerClientFactory.java
Show resolved
Hide resolved
...tron-profiler-client/src/main/java/org/apache/metron/profiler/client/stellar/GetProfile.java
Show resolved
Hide resolved
...tron-profiler-client/src/main/java/org/apache/metron/profiler/client/stellar/GetProfile.java
Show resolved
Hide resolved
...r-spark/src/test/java/org/apache/metron/profiler/spark/function/HBaseWriterFunctionTest.java
Outdated
Show resolved
Hide resolved
metron-analytics/metron-profiler-storm/src/main/config/profiler.properties
Show resolved
Hide resolved
...on-analytics/metron-profiler-storm/src/main/java/org/apache/metron/hbase/bolt/HBaseBolt.java
Show resolved
Hide resolved
metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/hbase/bolt/Widget.java
Show resolved
Hide resolved
...torm/src/test/java/org/apache/metron/profiler/storm/integration/ProfilerIntegrationTest.java
Outdated
Show resolved
Hide resolved
…from the command-line
…ntFactory implementations
…ion resolution cannot use Builder and tests should work as similarily to production as possible
|
The issue that @merrimanr ran into was because he was testing with the centos7 environment built against HDP 3.1. I just added a note to the description about this, but this PR will only work when run against HDP 2.6 since the Hadoop version has yet been updated. Until that happens the Batch Profiler is not able to read from HDFS. After the recent round of review edits, I ran up the test instructions again in centos6 + HDP 2.6 and everything worked as planned. |
|
Your explanation makes sense to me @nickwallen. +1 |
….7.0 which would be a new dependency
|
I think that's everything - please feel free to check me on that as github doesn't seem to rollup the requests like a checklist. Thanks @nickwallen! +1 by inspection pending Travis. |
|
Thanks for the reviews. This has been merged into the feature branch. See 1e1afc3 |
apache#1458" This reverts commit 1e1afc3.
This change updates the Profiler to function with HBase 2.0.2.
feature/METRON-2088-support-HDP-3.1feature branch.This PR is dependent on the following PRs and the diff will show those changes here until that PR is merged
Changes
Added a new method to the Stellar function resolver;
FunctionResolver.withInstance. This makes it possible to instrument and setup a Stellar function for testing, but also rely on the existing function resolution system for tests.Altered
HBaseProfilerClientto use theHBaseClientabstraction.Created the
ProfilerClientFactoryandHBaseProfilerClientFactorythat contains common code for creating aProfilerClient. This code was being duplicated in some of the different Stellar functions related to the Profiler. This also makes it simpler to test this common code.Update the
PROFILE_GETandPROFILE_VERBOSEfunctions to use theProfilerClientFactory.Acceptance Testing
Note: This needs to be tested in the centos6 environment built against HDP 2.6. Some functionality, like the Batch Profiler, will not fully function until we fully upgrade other dependencies like HDFS to the HDP 3.1 versions.
Profiler in the REPL
Test a profile in the REPL according to these instructions.
Streaming Profiler
Deploy that profile to the Streaming Profiler in Storm.
Wait for the Streaming Profiler in Storm to flush and retrieve the measurement from HBase.
For the impatient, you can reset the period duration to 1 minute. Alternatively, you can allow the Profiler topology to work for a minute or two and then kill the
profilertopology which will force it to flush a profile measurement to HBase.Retrieve the measurement from HBase. Prior to this PR, it was not possible to query HBase from the REPL.
Batch Profiler
Install Spark using Ambari.
Stop Storm, YARN, Elasticsearch, Kibana, and Kafka.
Install Spark2 using Ambari.
Ensure that Spark can talk with HBase.
Use the Batch Profiler to back-fill your profile. To do this, follow the direction provided here.
Retrieve the entire profile, including the back-filled data.
Pull Request Checklist