首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Amazon web服务EMR:在Slave (核心/任务)节点中安装依赖项

Amazon web服务EMR:在Slave (核心/任务)节点中安装依赖项
EN

Stack Overflow用户
提问于 2018-03-27 16:42:32
回答 1查看 423关注 0票数 0

我是AWS EMR的新手,我从EMR中的shell脚本安装我的python库依赖项。

但此安装不影响从节点(核心/任务),依赖项安装在主节点中。

因此,现在我正在尝试编写一个在从节点上安装依赖项的脚本。

使用boto3框架,我能够检索ID。

代码语言:javascript
复制
response = emr_client.list_instances(
    ClusterId=cluster_id
)
instances =[]
for i in xrange(len(response["Instances"])):
    print response["Instances"][i]["Ec2InstanceId"]
    instances.append(response["Instances"][i]["Ec2InstanceId"])

使用send_command -ids触发SSM实例-在正常的ec2实例中,这是可行的,但由于此实例在EM中,因此抛出错误InvalidInstanceId

代码语言:javascript
复制
resp = ssm_client.send_command(
         InstanceIds=instances,
         DocumentName="setup.sh"
         )
EN

回答 1

Stack Overflow用户

发布于 2018-03-28 23:31:53

电子病历提供了名为Bootstrap Actions的选项,在安装实际的hadoop软件之前,可以在为电子病历创建的所有ec2实例中执行该选项。我建议您探索该选项,而不是一个接一个地手动运行shell脚本。

EMR还提供了使用自定义AMI的选项。您可以创建EMR,在其中安装您的第三方依赖项,并为其创建Ec2,然后使用该AMI创建EMR集群。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49508175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档