KYLIN-1614 Script entry for job diagnosis
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/b7f03986 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b7f03986 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b7f03986 Branch: refs/heads/1.5.x-HBase1.x Commit: b7f03986f7f6fbf55b01c02637507f8cca0ef6b6 Parents: 0308fa8 Author: lidongsjtu <lid...@apache.org> Authored: Sun May 1 14:13:56 2016 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Sun May 1 14:14:18 2016 +0800 ---------------------------------------------------------------------- build/bin/kylin.sh | 13 ++++++---- .../kylin/tool/AbstractInfoExtractor.java | 25 ++++++++++---------- .../apache/kylin/tool/ClientEnvExtractor.java | 1 + .../org/apache/kylin/tool/DiagnosisInfoCLI.java | 8 ------- .../apache/kylin/tool/HBaseUsageExtractor.java | 1 + 5 files changed, 24 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/build/bin/kylin.sh ---------------------------------------------------------------------- diff --git a/build/bin/kylin.sh b/build/bin/kylin.sh index 34014d3..7ceae69 100644 --- a/build/bin/kylin.sh +++ b/build/bin/kylin.sh @@ -201,10 +201,10 @@ then elif [ "$1" = "diag" ] then - project="$2" - if [ -z "$project" ] + patient="$2" + if [ -z "$patient" ] then - echo "You need to specify a project for diagnosis." + echo "You need to specify a Project or Job Id for diagnosis." exit 1 fi @@ -216,7 +216,12 @@ then fi export HBASE_CLASSPATH=${KYLIN_HOME}/lib/* - exec hbase ${KYLIN_EXTRA_START_OPTS} -Dlog4j.configuration=kylin-log4j.properties org.apache.kylin.tool.DiagnosisInfoCLI -project $project -destDir $destDir + + if [ ${#patient} -gt 31 ]; then + exec hbase ${KYLIN_EXTRA_START_OPTS} -Dlog4j.configuration=kylin-log4j.properties org.apache.kylin.tool.JobDiagnosisInfoCLI -jobId $patient -destDir $destDir + else + exec hbase ${KYLIN_EXTRA_START_OPTS} -Dlog4j.configuration=kylin-log4j.properties org.apache.kylin.tool.DiagnosisInfoCLI -project $patient -destDir $destDir + fi exit 0 # tool command http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java b/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java index 4a5f31e..42449e5 100644 --- a/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java +++ b/tool/src/main/java/org/apache/kylin/tool/AbstractInfoExtractor.java @@ -20,6 +20,7 @@ package org.apache.kylin.tool; import java.io.File; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; @@ -28,6 +29,7 @@ import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; +import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.KylinVersion; import org.apache.kylin.common.util.AbstractApplication; import org.apache.kylin.common.util.OptionsHelper; @@ -48,6 +50,7 @@ public abstract class AbstractInfoExtractor extends AbstractApplication { private static final Option OPTION_SUBMODULE = OptionBuilder.withArgName("submodule").hasArg().isRequired(false).withDescription("specify whether this is a submodule of other CLI tool").create("submodule"); private static final String DEFAULT_PACKAGE_TYPE = "base"; + private static final String COMMIT_SHA1_FILE = "commit_SHA1"; protected final Options options; @@ -115,18 +118,16 @@ public abstract class AbstractInfoExtractor extends AbstractApplication { } } - private void dumpBasicDiagInfo() { - try { - String output = KylinVersion.getKylinClientInformation() + "\n"; - FileUtils.writeStringToFile(new File(exportDir, "kylin_env"), output); - - StringBuilder basicSb = new StringBuilder(); - basicSb.append("MetaStoreID: ").append(ToolUtil.getHBaseMetaStoreId()).append("\n"); - basicSb.append("PackageType: ").append(packageType.toUpperCase()).append("\n"); - FileUtils.writeStringToFile(new File(exportDir, "info"), basicSb.toString()); - } catch (Exception e) { - logger.warn("Error in export process info.", e); - } + private void dumpBasicDiagInfo() throws IOException { + FileUtils.copyFileToDirectory(new File(KylinConfig.getKylinHome(), COMMIT_SHA1_FILE), exportDir); + + String output = KylinVersion.getKylinClientInformation() + "\n"; + FileUtils.writeStringToFile(new File(exportDir, "kylin_env"), output); + + StringBuilder basicSb = new StringBuilder(); + basicSb.append("MetaStoreID: ").append(ToolUtil.getHBaseMetaStoreId()).append("\n"); + basicSb.append("PackageType: ").append(packageType.toUpperCase()).append("\n"); + FileUtils.writeStringToFile(new File(exportDir, "info"), basicSb.toString()); } protected abstract void executeExtract(OptionsHelper optionsHelper, File exportDir) throws Exception; http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java b/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java index 01908be..5e170f8 100644 --- a/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java +++ b/tool/src/main/java/org/apache/kylin/tool/ClientEnvExtractor.java @@ -40,6 +40,7 @@ public class ClientEnvExtractor extends AbstractInfoExtractor { public ClientEnvExtractor() throws IOException { super(); + packageType = "client"; kylinConfig = KylinConfig.getInstanceFromEnv(); cmdExecutor = kylinConfig.getCliCommandExecutor(); http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java index 863171d..884a9d4 100644 --- a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java +++ b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java @@ -24,7 +24,6 @@ import java.io.IOException; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; import org.apache.commons.io.FileUtils; -import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.util.OptionsHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -96,13 +95,6 @@ public class DiagnosisInfoCLI extends AbstractInfoExtractor { clientEnvExtractor.execute(clientArgs); } - // export commit id - try { - FileUtils.copyFileToDirectory(new File(KylinConfig.getKylinHome(), "commit_SHA1"), exportDir); - } catch (Exception e) { - logger.warn("Error in export commit id.", e); - } - // export logs String[] logsArgs = { "-destDir", new File(exportDir, "logs").getAbsolutePath(), "-compress", "false", "-submodule", "true" }; KylinLogExtractor logExtractor = new KylinLogExtractor(); http://git-wip-us.apache.org/repos/asf/kylin/blob/b7f03986/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java b/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java index 0dbe87e..7be03bc 100644 --- a/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java +++ b/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java @@ -65,6 +65,7 @@ public class HBaseUsageExtractor extends AbstractInfoExtractor { public HBaseUsageExtractor() { super(); + packageType = "hbase"; OptionGroup realizationOrProject = new OptionGroup(); realizationOrProject.addOption(OPTION_CUBE);