Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 找不到script-runner.jar_Python_Boto_Amazon Emr - Fatal编程技术网

Python 找不到script-runner.jar

Python 找不到script-runner.jar,python,boto,amazon-emr,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 +

下面是通过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)
现在,由于某种原因,当我将其输入到运行_jobflow时

我犯了一个错误

获取jar文件时出错。java.lang.RuntimeException:获取“s3://us-east-1.elasticmapreduce/libs/script runner/script runner.jar”时出错


我可以使用我的凭据访问bucket
elasticmapreduce/libs/script runner/
。我如何解决这个问题?或者是否有其他方法可以提供
脚本运行程序

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

EMR群集运行在哪个区域?@jcmannem same useast1ok。好的,EMR使用EMR_EC2_DefaultRole(实例配置文件角色的cred)从集群访问bucket。该角色是否有任何阻止访问的it策略?另外,您的步骤日志中还有其他错误吗?我针对Java SDK解决了这个问题,希望它能有所帮助