Amazon EMR Clusters застрял в начальном состоянии - PullRequest
1 голос
/ 21 марта 2020

Я создаю кластеры на AWS EMR (с консолью и SDK). Но эти кластеры всегда остаются в «стартовом» состоянии и никогда не запускаются. Почему это может произойти и как я могу это решить? Спасибо.

bootstrap Журнал действий: INFO i-062fab1a95f485684: новый экземпляр запущен ОШИБКА i-062fab1a95f485684: не удалось запустить. bootstrap Сбой действия 1 с ненулевым кодом выхода.

Мои коды:

val emr = AmazonElasticMapReduceClientBuilder.standard()
  .withCredentials(new AWSStaticCredentialsProvider(awsCred))
  .withRegion(Regions.EU_WEST_1)
  .build()

val stepFactory = new StepFactory();
val enabledebugging = new StepConfig()
  .withName("Enable debugging")
  .withActionOnFailure("TERMINATE_JOB_FLOW")
  .withHadoopJarStep(stepFactory.newEnableDebuggingStep())

val spark = new Application().withName("Spark")
val hive = new Application().withName("Hive")
val ganglia = new Application().withName("Ganglia")
val zeppelin = new Application().withName("Zeppelin")

val request = new RunJobFlowRequest()
  .withName("Spark Cluster")
  .withReleaseLabel("emr-5.20.0")
  .withSteps(enabledebugging)
  .withApplications(spark)
  .withLogUri("s3://my-logs")
  .withServiceRole("EMR_DefaultRole")
  .withJobFlowRole("EMR_EC2_DefaultRole")
  .withInstances(new JobFlowInstancesConfig()
    .withEc2SubnetId("subnet-xxxxx")
    .withEc2KeyName("ec2test")
    .withInstanceCount(3)
    .withKeepJobFlowAliveWhenNoSteps(true)
    .withMasterInstanceType("m5.xlarge")
    .withSlaveInstanceType("m5.xlarge")
  );
val result = emr.runJobFlow(request);
System.out.println("The cluster ID is " + result.toString());
...