gpt4 book ai didi

bash - 运行 bash 脚本作为 EMR 中的一个步骤的正确语法是什么?

转载 作者:行者123 更新时间:2023-12-03 15:36:31 25 4
gpt4 key购买 nike

我试图在 EMR 完成引导后运行一个 bash 脚本作为一个步骤。以下是我的地形代码:

step { action_on_failure = "CONTINUE" 
name = "Setup Hadoop configuration"
hadoop_jar_step {
jar = "command-runner.jar"
args = ["bash,-c,'cd /mnt; chmod +x ./userdata.sh; ./userdata.sh'"]
}}

这是行不通的,并且一直没有提到找不到文件。
args 是否正确提供? script-runner.jar 呢?
任何帮助都受到高度赞赏。 :(

最佳答案

command-runner.jar您可以执行许多程序,例如 bash 脚本,
并且您不必像 script-runner.jar 那样知道它的完整路径.建议使用command-runner.jar .

EMR是集群模式,不知道是哪个节点执行shell脚本,所以push到S3:

{
"Name": "Setup Hadoop configuration",
"ActionOnFailure": "CONTINUE",
"HadoopJarStep": {
"Jar": "command-runner.jar",
"Args": [
"bash",
"-c",
" aws s3 cp s3://path_to_bucket_S3/userdata.sh .;
chmod +x userdata.sh;
./userdata.sh args...;
rm userdata.sh "
]
}
}

关于bash - 运行 bash 脚本作为 EMR 中的一个步骤的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51803980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com