我正在尝试创建一个 PHP 页面来启动集群并将作业添加到工作流中。
$response = $emr->run_job_flow($nameOfRun, array(
'Ec2KeyName' => 'hadoop',
'HadoopVersion' => '0.20',
'KeepJobFlowAliveWhenNoSteps' => $clusterAlive,
'InstanceGroups' => array(
array( // Group #1
'InstanceCount' => $numOfMaster,
'InstanceRole' => 'MASTER',
'InstanceType' => $masterInstanceType,
'Market' => 'ON_DEMAND',
'Name' => 'Master',
),
array( // Group #2
'InstanceCount' => $numOfSlaves,
'InstanceRole' => 'CORE',
'InstanceType' => $slaveInstanceType,
'Market' => 'ON_DEMAND',
'Name' => 'Slaves',
)
),
'Placement' => array(
'AvailabilityZone' => 'us-east-1d'
)
));
集群启动,我可以看到作业流 ID。但它在启动后立即开始关闭。当我执行elastic-mapreduce --list
时,该集群的状态为 Failed。
任何已知问题或我做错的任何地方?可用性区域是否可能导致问题?
我从 AWS 控制台检查,它给出了这个错误 -The given SSH key name was invalid
我检查了,我在 config.inc.php 中提供的访问密钥和密钥是正确的并且可以工作。
问候, Kartikeya Sinha