HDFS-12588. Use GenericOptionsParser for scm and ksm daemon. Contributed by Elek, Marton.
This commit is contained in:
parent
7bba3943f0
commit
207523915d
|
@ -48,6 +48,7 @@ import org.apache.hadoop.scm.protocol.ScmBlockLocationProtocol;
|
||||||
import org.apache.hadoop.scm.protocolPB.ScmBlockLocationProtocolClientSideTranslatorPB;
|
import org.apache.hadoop.scm.protocolPB.ScmBlockLocationProtocolClientSideTranslatorPB;
|
||||||
import org.apache.hadoop.scm.protocolPB.ScmBlockLocationProtocolPB;
|
import org.apache.hadoop.scm.protocolPB.ScmBlockLocationProtocolPB;
|
||||||
import org.apache.hadoop.security.UserGroupInformation;
|
import org.apache.hadoop.security.UserGroupInformation;
|
||||||
|
import org.apache.hadoop.util.GenericOptionsParser;
|
||||||
import org.apache.hadoop.util.StringUtils;
|
import org.apache.hadoop.util.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -89,6 +90,7 @@ public class KeySpaceManager extends ServiceRuntimeInfoImpl
|
||||||
private final KSMMetrics metrics;
|
private final KSMMetrics metrics;
|
||||||
private final KeySpaceManagerHttpServer httpServer;
|
private final KeySpaceManagerHttpServer httpServer;
|
||||||
private ObjectName ksmInfoBeanName;
|
private ObjectName ksmInfoBeanName;
|
||||||
|
private static final String USAGE = "hdfs ksm [genericOptions]";
|
||||||
|
|
||||||
public KeySpaceManager(OzoneConfiguration conf) throws IOException {
|
public KeySpaceManager(OzoneConfiguration conf) throws IOException {
|
||||||
final int handlerCount = conf.getInt(OZONE_KSM_HANDLER_COUNT_KEY,
|
final int handlerCount = conf.getInt(OZONE_KSM_HANDLER_COUNT_KEY,
|
||||||
|
@ -191,14 +193,25 @@ public class KeySpaceManager extends ServiceRuntimeInfoImpl
|
||||||
* @throws IOException if startup fails due to I/O error
|
* @throws IOException if startup fails due to I/O error
|
||||||
*/
|
*/
|
||||||
public static void main(String[] argv) throws IOException {
|
public static void main(String[] argv) throws IOException {
|
||||||
StringUtils.startupShutdownMessage(KeySpaceManager.class, argv, LOG);
|
if (DFSUtil.parseHelpArgument(argv, USAGE,
|
||||||
|
System.out, true)) {
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
OzoneConfiguration conf = new OzoneConfiguration();
|
OzoneConfiguration conf = new OzoneConfiguration();
|
||||||
|
GenericOptionsParser hParser = new GenericOptionsParser(conf, argv);
|
||||||
|
if (!hParser.isParseSuccessful()
|
||||||
|
|| hParser.getRemainingArgs().length > 0) {
|
||||||
|
System.err.println("USAGE: " + USAGE + " \n");
|
||||||
|
hParser.printGenericCommandUsage(System.err);
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
if (!DFSUtil.isOzoneEnabled(conf)) {
|
if (!DFSUtil.isOzoneEnabled(conf)) {
|
||||||
System.out.println("KSM cannot be started in secure mode or when " +
|
System.out.println("KSM cannot be started in secure mode or when " +
|
||||||
OZONE_ENABLED + " is set to false");
|
OZONE_ENABLED + " is set to false");
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
|
StringUtils.startupShutdownMessage(KeySpaceManager.class, argv, LOG);
|
||||||
KeySpaceManager ksm = new KeySpaceManager(conf);
|
KeySpaceManager ksm = new KeySpaceManager(conf);
|
||||||
ksm.start();
|
ksm.start();
|
||||||
ksm.join();
|
ksm.join();
|
||||||
|
|
|
@ -91,6 +91,7 @@ import org.apache.hadoop.scm.protocolPB.StorageContainerLocationProtocolPB;
|
||||||
import org.apache.hadoop.ozone.common.Storage.StorageState;
|
import org.apache.hadoop.ozone.common.Storage.StorageState;
|
||||||
import org.apache.hadoop.ozone.scm.exceptions.SCMException.ResultCodes;
|
import org.apache.hadoop.ozone.scm.exceptions.SCMException.ResultCodes;
|
||||||
import org.apache.hadoop.security.UserGroupInformation;
|
import org.apache.hadoop.security.UserGroupInformation;
|
||||||
|
import org.apache.hadoop.util.GenericOptionsParser;
|
||||||
import org.apache.hadoop.util.StringUtils;
|
import org.apache.hadoop.util.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -216,9 +217,12 @@ public class StorageContainerManager extends ServiceRuntimeInfoImpl
|
||||||
|
|
||||||
|
|
||||||
private static final String USAGE =
|
private static final String USAGE =
|
||||||
"Usage: \n hdfs scm [ " + StartupOption.INIT.getName() + " [ "
|
"Usage: \n hdfs scm [genericOptions] "
|
||||||
+ StartupOption.CLUSTERID.getName() + " <cid> ] ]\n " + "hdfs scm [ "
|
+ "[ " + StartupOption.INIT.getName() + " [ "
|
||||||
+ StartupOption.GENCLUSTERID.getName() + " ]\n " + "hdfs scm [ "
|
+ StartupOption.CLUSTERID.getName() + " <cid> ] ]\n "
|
||||||
|
+ "hdfs scm [genericOptions] [ "
|
||||||
|
+ StartupOption.GENCLUSTERID.getName() + " ]\n " +
|
||||||
|
"hdfs scm [ "
|
||||||
+ StartupOption.HELP.getName() + " ]\n";
|
+ StartupOption.HELP.getName() + " ]\n";
|
||||||
/**
|
/**
|
||||||
* Creates a new StorageContainerManager. Configuration will be updated with
|
* Creates a new StorageContainerManager. Configuration will be updated with
|
||||||
|
@ -401,11 +405,21 @@ public class StorageContainerManager extends ServiceRuntimeInfoImpl
|
||||||
* @throws IOException if startup fails due to I/O error
|
* @throws IOException if startup fails due to I/O error
|
||||||
*/
|
*/
|
||||||
public static void main(String[] argv) throws IOException {
|
public static void main(String[] argv) throws IOException {
|
||||||
StringUtils.startupShutdownMessage(StorageContainerManager.class,
|
if (DFSUtil.parseHelpArgument(argv, USAGE,
|
||||||
argv, LOG);
|
System.out, true)) {
|
||||||
OzoneConfiguration conf = new OzoneConfiguration();
|
System.exit(0);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
StorageContainerManager scm = createSCM(argv, conf);
|
OzoneConfiguration conf = new OzoneConfiguration();
|
||||||
|
GenericOptionsParser hParser = new GenericOptionsParser(conf, argv);
|
||||||
|
if (!hParser.isParseSuccessful()) {
|
||||||
|
System.err.println("USAGE: " + USAGE + "\n");
|
||||||
|
hParser.printGenericCommandUsage(System.err);
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
StringUtils.startupShutdownMessage(StorageContainerManager.class,
|
||||||
|
argv, LOG);
|
||||||
|
StorageContainerManager scm = createSCM(hParser.getRemainingArgs(), conf);
|
||||||
if (scm != null) {
|
if (scm != null) {
|
||||||
scm.start();
|
scm.start();
|
||||||
scm.join();
|
scm.join();
|
||||||
|
|
|
@ -162,7 +162,7 @@ public class SCMCLI extends OzoneBaseCLI {
|
||||||
HelpFormatter helpFormatter = new HelpFormatter();
|
HelpFormatter helpFormatter = new HelpFormatter();
|
||||||
Options topLevelOptions = new Options();
|
Options topLevelOptions = new Options();
|
||||||
addTopLevelOptions(topLevelOptions);
|
addTopLevelOptions(topLevelOptions);
|
||||||
helpFormatter.printHelp(CMD_WIDTH, "hdfs scm <commands> [<options>]",
|
helpFormatter.printHelp(CMD_WIDTH, "hdfs scmcli <commands> [<options>]",
|
||||||
"where <commands> can be one of the following",
|
"where <commands> can be one of the following",
|
||||||
topLevelOptions, "");
|
topLevelOptions, "");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue