Python 找不到script-runner.jar
下面是通过EMR安装和运行hive的代码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 +
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解决了这个问题,希望它能有所帮助