使用AWS Create-Cluster使用用户数据自定义EMR集群

时间:2019-05-01 22:10:54

标签: amazon-web-services hive amazon-emr

背景

AWS EC2具有许多用于配置单个实例或实例集群的复杂机制。我们用于处理不同配置的功能之一是用户数据。可用于传递命令,设置变量或运行脚本。

在创建EMR集群时,我们正在寻找类似的选择。

EMR群集

我们已经有一个配置单元集群并在产品中运行。

我们需要以最少的更改来重复使用脚本。为了相同的目的,想要自定义这些脚本。但是我们还没有找到合适的方法来对脚本进行参数化。

尝试的方法:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar mActionBar = getSupportActionBar(); mActionBar.setDisplayShowHomeEnabled(false); mActionBar.setDisplayShowTitleEnabled(false); LayoutInflater mInflater = LayoutInflater.from(this); View mCustomView = mInflater.inflate(R.layout.custom_action_bar_layout, null); TextView cancelButton = (TextView) mCustomView.findViewById(R.id.cancel_button); cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); mActionBar.setCustomView(mCustomView); mActionBar.setDisplayShowCustomEnabled(true); }

此脚本配置诸如配置单元表之类的数据,但这是在配置主机之后。

尝试了另一种选择:

--steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://script-runner.jar,Args=["s3 location / bootstrap.sh"]

这用于设置一些环境变量,稍后可被引导脚本用来运行适当的脚本。

但是,当主机启动时,我们看不到设置了环境变量。这也限制了正在查看该变量的脚本。

那正确的方法是什么?

0 个答案:

没有答案