Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PUBDEV-4331][SW-311] Override default MapReduce type to H2O type #1065

Merged
merged 1 commit into from May 18, 2017

Conversation

mmalohlava
Copy link
Member

The h2odriver can specify H2O specific application master.
The application master is still based on standard MRAppMaster, however
it overrides default application type to 'H2O'.

The is an optional feature! To enable it, a launcher needs to override
default MRAppMaster by specifying the following parameter:

-Dmapreduce.framework.name=h2o-yarn

For example:

hadoop jar h2odriver.jar -Dmapreduce.framework.name=h2o-yarn -nodes 1 -mapperXmx 4G -output -ichal_1

The h2odriver can specify H2O specific application master.
The application master is still based on standard MRAppMaster, however
it overrides default application type to 'H2O'.

The is an optional feature! To enable it, a launcher needs to override
default MRAppMaster by specifying the following parameter:
```
-Dmapreduce.framework.name=h2o-yarn
```

For example:
```
hadoop jar h2odriver.jar -Dmapreduce.framework.name=h2o-yarn -nodes 1 -mapperXmx 4G -output -ichal_1
```
/**
* H2O Specific MRAppMaster
*/
public class H2OMRAppMaster extends MRAppMaster {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this class? It doesn't seem to do anything H2O specific at this point.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just preparation for new changes - registration of Flow UI port in Mapred UI. Not necessary here, i can remove and include in next one.

// Modify MRAppMaster commands to point to our master
LOG.info("Setting MRAppMaster to " + H2OMRAppMaster.class.toString());
ContainerLaunchContext origClc = appContext.getAMContainerSpec();
ContainerLaunchContext newClc = ContainerLaunchContext.newInstance(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we only need to set application type to H2O then we don't need a custom application master yet.

Is this meant as a groundwork for the future improvements?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes


@Override
public ClientProtocol create(Configuration conf) throws IOException {
if ("h2o-yarn".equals(conf.get(MRConfig.FRAMEWORK_NAME))) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are the naming conventions here? I know that Apache Tez uses "yarn-h2o". Not sure if there are other examples like that. Perhaps we should use "-h2o" as a suffix instead.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default is yarn. I did not find anything like that, but suffix makes sense, will change it.

Copy link
Contributor

@michalkurka michalkurka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Minor comments only.

@mmalohlava
Copy link
Member Author

@michalkurka @tomkraljevic we were discussing this PR yesterday with @jakubhava in the context of Kluster and related customer requests (include Flow UI, include download logs directly in Yarn RM).

We were thinking if we can step-by-step introduce our AM by refining default MapReduce AM?
This PR is just beginning.

@jakubhava jakubhava self-assigned this May 3, 2017
@mmalohlava mmalohlava merged commit 896cad2 into master May 18, 2017
@mmalohlava mmalohlava deleted the mm/jira/pubdev-4331 branch May 18, 2017 01:43
mmalohlava added a commit that referenced this pull request May 18, 2017
mmalohlava added a commit that referenced this pull request May 18, 2017
…type" (#1151)

* Revert "PUBDEV-4453: Move Cloud Integration topic outside of Welcome (#1150)"

This reverts commit efd9c5e.

* Revert "[PUBDEV-4331][SW-311] Override default MapReduce type to H2O type (#1065)"

This reverts commit 896cad2.
@mmalohlava mmalohlava restored the mm/jira/pubdev-4331 branch May 18, 2017 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants