如何在EMR上启动主站和从站

问题描述 投票:1回答:3

我是EMR的新手,现在我无法在EMR上运行我的Spark应用程序。我的问题是如何在EMR上启动$ start-master.sh和$ start-slave.sh。我将这两个命令放入一个bash文件中并上传到S3以进行引导。

aws emr create-cluster --release-label $release_label \
--instance-groups InstanceGroupType="MASTER",InstanceCount=$instance_count,InstanceType=$instance_type,BidPrice=0.2,Name="MASTER" \
InstanceGroupType="CORE",InstanceType=$instance_type,InstanceCount=$instance_count,BidPrice=0.2,Name="CORE" \
--auto-terminate \
--use-default-roles \
--name knx-attribution-spark-$product-$environment-$build_number \
--log-uri s3://knx-logs/emr/knx-attribution-spark-$product-$environment \
--ec2-attributes KeyName=$keypair,SubnetId=$subnet,EmrManagedMasterSecurityGroup=$sg1,EmrManagedSlaveSecurityGroup=$sg1,AdditionalMasterSecurityGroups=$sg2,AdditionalSlaveSecurityGroups=$sg2 \
--tags Name="knx-emr-attribution-spark-$product-$environment" Environment=$environment \
--applications Name=Spark Name=Hadoop\
--bootstrap-actions Path="s3://${BOOTSTRAP_FILE}" \
--steps Type=Spark,Name=Stage,ActionOnFailure=CONTINUE,Args=[--deploy-mode,client,--packages,org.mongodb.spark:mongo-spark-connector_2.11:2.3.0,--driver-memory,8g,--executor-memory,4g,--num-executors,4,--py-files,s3://${FILE_ZIP},--master,spark://127.0.0.1:7077,s3://${BUCKET}]

引导程序文件是:

./spark/sbin/start-master.sh
./spark/sbin/start-slave.sh spark://127.0.0.1:7077

它总是抛出这个错误:

/emr/instance-controller/lib/bootstrap-actions/1/install_lib.sh: line 4: start-master.sh: command not found
pyspark amazon-emr
3个回答
0
投票

在尝试之前,请确保.sh文件是可执行的。

如果没有尝试此命令将其作为可执行文件:

chmod +x start-master.sh

然后尝试运行脚本。


0
投票

您无法在独立模式下在Amazon EMR上运行Spark。


0
投票

在EMR上,Spark在YARN上运行而不是在独立模式下运行。除非我没有看到其他错误,否则你唯一需要改变的就是从你的spark-submit步骤的参数中删除“--master,spark://127.0.0.1:7077”。要使用的正确参数是“--master,yarn”,但这是EMR的默认值,因此您无需指定。

© www.soinside.com 2019 - 2024. All rights reserved.