我按照本指南在最新的AMI / EMR群集上安装Spark:
http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-spark-launch.html
我想安装Ganglia来监控群集,因此我将Name=Ganglia
添加到要安装的应用程序列表中:
aws emr create-cluster --name "Spark cluster" --release-label emr-4.0.0 --applications Name=Spark Name=Ganglia --ec2-attributes KeyName=myKey --instance-type m3.xlarge --instance-count 3 --use-default-roles
但我收到以下错误消息:
调用时发生客户端错误(ValidationException) RunJobFlow操作:指定的应用程序:Ganglia无效
以下是我正在运行的版本:
aws --version
aws-cli/1.7.41 Python/2.7.7 Linux/2.6.32-431.29.2.el6.x86_64
答案 0 :(得分:2)
Ganglia不是EMR 4.0版本的一部分。
official API documentation显示有效值:" Hadoop"," Hive"," Mahout"," Pig",和#34; Spark。"
AWS CLI文档似乎不正确。
答案 1 :(得分:1)
通常的Ganglia引导操作在emr-4.0.0下也不起作用。请参阅this issue。
答案 2 :(得分:0)
亚马逊可能正致力于为EMR 4.x创建Ganglia官方版本。在此之前,您可以使用此引导操作:
s3://support.elasticmapreduce/release/4.x/ganglia/install_ganglia_emr-4.0.0.rb
答案 3 :(得分:-1)
如果继续使用引导操作,则应该没问题。
// AWSCLI示例
aws emr create-cluster \
--bootstrap-actions file://bootstrap_actions.json \
...
// bootstrap_actions.json
{
"Name": "Install Ganglia",
"Path": "s3://elasticmapreduce/bootstrap-actions/install-ganglia"
},
或者从DataPipeline(管道定义文件示例):
{
"id": "EmrCluster",
"name": "My Cluster (staging)",
"type": "EmrCluster",
"bootstrapAction": [
"s3://elasticmapreduce/bootstrap-actions/install-ganglia"
],
etc..
},