我想在EMR作业中使用EBS快照。由于映射器从快照中读取,因此我希望在每个节点上安装快照。除了登录每个节点之外,还有一种简单的方法吗?我想我可以让我的mapreduce工作的第一步来安装它,但这似乎是错误的。有没有更简单的方法呢?
答案 0 :(得分:1)
这是可能的,但你必须跳过一些箍才能让它发挥作用。假设您有配方从shell脚本中的EBS快照创建EBS卷。 EMR提供引导操作,这些操作只是您可以创建和运行的shell脚本。在允许任何作业(EMR中的步骤)运行之前运行引导操作。
以下是使shell脚本执行所需的步骤:
要获取当前实例ID,请使用元数据服务:
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'Expense' do
pod 'ExpandingTableView'
end
target 'ExpenseTests' do
end
target 'ExpenseUITests' do
end
获得shell脚本后,需要将其上载到S3,然后将该脚本作为引导操作添加到群集中: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html
另外要注意,您将为您创建的每个EBS卷付费,因此请确保正确设置删除终止逻辑!