找不到 script-runner.jar

vks*_*vks 5 python boto amazon-emr

以下是通过 EMR 安装和运行 Hive 的代码

args = ['s3://' + zone_name + '.elasticmapreduce/libs/hive/hive-script',
    '--base-path', 's3://' + zone_name + '.elasticmapreduce/libs/hive/',
    '--install-hive', '--hive-versions', '0.13.1']

args2 = ['s3://' + zone_name + '.elasticmapreduce/libs/hive/hive-script',
     '--base-path', 's3://' + zone_name + '.elasticmapreduce/libs/hive/',
     '--hive-versions', '0.13.1',
     '--run-hive-script', '--args',
     '-f', s3_url]

steps = []
for name, args in zip(('Setup Hive', 'Run Hive Script'), (args, args2)):
    step = JarStep(name,
               's3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar',
               step_args=args,
               # action_on_failure="CANCEL_AND_WAIT"
               )
# should be inside loop
    steps.append(step)
Run Code Online (Sandbox Code Playgroud)

现在,当我出于某种原因将其提供给 run_jobflow 时

我收到错误

Error fetching jar file. java.lang.RuntimeException: Error whilst fetching 's3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar

我可以elasticmapreduce/libs/script-runner/使用我的凭据访问存储桶。我该如何解决这个问题?或者有其他方法script-runner可以提供吗

Log*_*ter 1

这是因为您的集群与您从中获取 jar 的存储桶位于不同的区域。确保 EMR 集群位于您作为“zone_name”传递的同一区域。