Enable qjournal JN cluster to be set as dfs.namenode.shared.edits.dir to load test JNs #108
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Dynamometer spins up a simulated NN and makes it write edit logs to a local directory instead of a remote qjournal JN cluster because the primary objective of dynamometer was to load test NNs. But this prevents its usage in load testing JNs as well as an NNs performance w.r.t JN edit log sync.
This PR enables JN load testing using dynamometer by setting the property
dfs.namenode.shared.edits.dir
if thenamenode_edits_dir
config starts withqjournal://
. If this condition is true, the same JN cluster is used fordfs.namenode.shared.edits.dir
as well asdfs.namenode.edits.dir
. If the condition is false,dfs.namenode.shared.edits.dir
is left empty anddfs.namenode.edits.dir
is set to the regular local directory with the prefixfile://
.All changes are limited to start-component.sh file which is used as a java resource by Client.java, the dynamometer client used to spin up infra.
Testing Done
Ran the following bash:
And got the output:
While this bash code:
Gives the output: