Java 在AWS控制台UI上看不到EMR群集
我使用以下代码创建了一个集群:Java 在AWS控制台UI上看不到EMR群集,java,amazon-web-services,apache-spark,amazon-emr,Java,Amazon Web Services,Apache Spark,Amazon Emr,我使用以下代码创建了一个集群: > StepFactory stepFactory = new StepFactory(); StepConfig enableDebugging = new StepConfig().withName("Enable Debugging") .withActionOnFailure("TERMINATE_JOB_FLOW").withHadoopJarStep(stepFactory.new
> StepFactory stepFactory = new StepFactory();
StepConfig enableDebugging = new StepConfig().withName("Enable Debugging")
.withActionOnFailure("TERMINATE_JOB_FLOW").withHadoopJarStep(stepFactory.newEnableDebuggingStep());
Application spark = new Application().withName("Spark");
RunJobFlowRequest createClusterParameters = new RunJobFlowRequest().withName("CreateDatamart")
.withReleaseLabel("emr-5.5.0")
.withSteps(enableDebugging)
.withApplications(spark)
.withLogUri("s3://logs/")
.withServiceRole("EMR_DefaultRole")
.withJobFlowRole("EMR_EC2_DefaultRole")
.withInstances(new JobFlowInstancesConfig()
.withEc2KeyName("keypair")
.withInstanceCount(3)
.withKeepJobFlowAliveWhenNoSteps(false)
.withMasterInstanceType("m3.xlarge")
.withSlaveInstanceType("m3.xlarge"));
RunJobFlowResult createCluster = emr.runJobFlow(createClusterParameters);
将创建集群。附加到它的步骤也正在运行。
但该集群在AWS EMR用户界面中不可见。
我可以在EMR的“事件”选项卡下查看详细信息。
由于它位于“事件”选项卡下,因此没有必要在其他区域创建它。(尽管我也检查过)
在EC2控制台中,我可以看到为EMR创建的容器
在另一种情况下,如果我直接从UI创建集群,它是可见的
代码是否有错误?如果要将IAM用户可见性添加到新群集,请调用
RunJobFlow
并将VisibleToAllUsers
设置为true,否则IAM
用户无法查看群集
因此,在创建集群之前,您只需添加以下行:
createClusterParameters.setVisibleToAllUsers(true);
注意:如果使用Python SDK创建AWS Lambda,情况是否类似:
response1 = emr.run_job_flow(
Name=CLUSTER_NAME, # more properties [...]
VisibleToAllUsers=True
)