Java Amazon EMR群集停留在启动状态
我正在AWS EMR上创建集群(带有控制台和SDK)。但这些集群始终保持“启动”状态,永远不会启动。为什么会发生这种情况?我该如何解决?谢谢 引导操作日志: 信息i-062fab1a95f485684:新实例已启动 错误i-062fab1a95f485684:启动失败。引导操作1失败,退出代码为非零 我的代码:Java Amazon EMR群集停留在启动状态,java,scala,amazon-web-services,amazon-emr,Java,Scala,Amazon Web Services,Amazon Emr,我正在AWS EMR上创建集群(带有控制台和SDK)。但这些集群始终保持“启动”状态,永远不会启动。为什么会发生这种情况?我该如何解决?谢谢 引导操作日志: 信息i-062fab1a95f485684:新实例已启动 错误i-062fab1a95f485684:启动失败。引导操作1失败,退出代码为非零 我的代码: val emr = AmazonElasticMapReduceClientBuilder.standard() .withCredentials(new AWSStaticCred
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());
发布用于创建EMR clusterI的配置,我添加了用于创建clusterI的scala代码。您是否尝试过通过删除位进行调试,直到它正常工作?例如,如果删除
RunJobFlowRequest
,它是否有效?请先运行“emr=AmazoneLastICMapreduceClient Builder”部分,然后启动并运行emr群集。确保日志保存到S3()。如果没有它,调试引导问题就太难了。确保已连接足够的磁盘空间。如果磁盘空间不足以安装软件包,EMR将关闭。一旦您开始在S3中获取日志,请查看主节点引导日志以确保所有步骤都成功。在引导过程完成之前,保持配置简单,使用IGW将所有节点放在公共子网中,给出中等EC2实例,因为小实例可能无法承受EMR引导负载(内存不足等)。发布用于创建EMR clusterI的配置。我添加了用于创建clusterI的scala代码。您是否尝试过通过删除位进行调试,直到成功?例如,如果删除RunJobFlowRequest
,它是否有效?请先运行“emr=AmazoneLastICMapreduceClient Builder”部分,然后启动并运行emr群集。确保日志保存到S3()。如果没有它,调试引导问题就太难了。确保已连接足够的磁盘空间。如果磁盘空间不足以安装软件包,EMR将关闭。一旦您开始在S3中获取日志,请查看主节点引导日志以确保所有步骤都成功。在引导过程完成之前,保持配置简单,使用IGW将所有节点放在公共子网中,给出中等EC2实例,因为小实例可能无法承受EMR引导负载(内存不足等)。