[ 
https://issues.apache.org/jira/browse/HBASE-20334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Busbey updated HBASE-20334:
--------------------------------
    Status: Patch Available  (was: In Progress)

Here's a WIP. It relies on HBASE-20332, HBASE-20333, and HBASE-20615 so that 
patch has 4 commits.

-v0
  - adds hbase_nightly_pseudo-distributed-test.sh 

Test takes as required params:
- path to an hbase convenience binary tarball
- path to a {{hadoop}} executable
- path to the hadoop hadoop-yarn-server-tests-tests and 
hadoop-mapreduce-client-jobclient-tests jars (needed to run the hadoop mini 
cluster)

Test takes optionally:
- a working directory, defaulting to making something in /tmp (similar to our 
other dev-support scripts)
- a location for zk data (defaulting to making something in the working dir)
- wether or not to remove data from previous tests
- a classpath for hadoop clients (defaulting to using the {{hadoop classpath}} 
command)
- wether to be a single process or pseudodistributed

Checked so far, each as single process, each takes ~5 minutes on my local 
laptop:

- Against Hadoop 2.7.3 installed by homebrew
{code}
time ./dev-support/hbase_nightly_pseudo-distributed-test.sh --single-process 
hbase-assembly/target/hbase-3.0.0-SNAPSHOT/ 
/usr/local/Cellar/hadoop/2.7.3/bin/hadoop 
/usr/local/Cellar/hadoop/2.7.3/libexec/share/hadoop/yarn/test/hadoop-yarn-server-tests-2.7.3-tests.jar
 
/usr/local/Cellar/hadoop/2.7.3/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.3-tests.jar
{code}
- Against Hadoop 3.0.0 installed by homebrew
{code}
time ./dev-support/hbase_nightly_pseudo-distributed-test.sh --single-process 
hbase-assembly/target/hbase-3.0.0-SNAPSHOT/ 
/usr/local/Cellar/hadoop/3.0.0/bin/hadoop 
/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/yarn/test/hadoop-yarn-server-tests-3.0.0-tests.jar
 
/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.0.0-tests.jar
{code}
- Against Hadoop 3.0.0 w/shaded hadoop artifacts, installed by homebrew
{code}
time ./dev-support/hbase_nightly_pseudo-distributed-test.sh 
--hadoop-client-classpath 
/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/client/hadoop-client-api-3.0.0.jar:/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/client/hadoop-client-runtime-3.0.0.jar
 --single-process hbase-assembly/target/hbase-3.0.0-SNAPSHOT/ 
/usr/local/Cellar/hadoop/3.0.0/bin/hadoop 
/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/yarn/test/hadoop-yarn-server-tests-3.0.0-tests.jar
 
/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.0.0-tests.jar
{code}

TODO:
- Jenkinsfile addition, including getting Hadoop artifacts
- multiple process (might be blocked by HBASE-6555)

> add a test that expressly uses both our shaded client and the one from hadoop 
> 3
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-20334
>                 URL: https://issues.apache.org/jira/browse/HBASE-20334
>             Project: HBase
>          Issue Type: Sub-task
>          Components: hadoop3, shading
>    Affects Versions: 2.0.0
>            Reporter: Sean Busbey
>            Assignee: Sean Busbey
>            Priority: Major
>         Attachments: HBASE-20334.0.patch
>
>
> Since we're making a shaded client that bleed out of our namespace and into 
> Hadoop's, we should ensure that we can show our clients coexisting. Even if 
> it's just an IT that successfully talks to both us and HDFS via our 
> respective shaded clients, that'd be a big help in keeping us proactive.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to