hadoop - 在每个 EMR/Yarn 节点上运行 Unix shell 命令

标签 hadoop hadoop-yarn emr

我想在 Amazon EMR 集群中的每个节点上安装一个 Python 模块。看起来最明显的方法是通过 ssh 连接到每个节点并在命令行安装它。我将 YARN 视为在集群中的每个节点上运行相同 JAR 文件的一种方式,但 YARN 的“jar”命令似乎在本地系统上运行。

最佳答案

您可以使用 bootstrap在启动集群时在每个 EMR 节点上安装第 3 方软件。

如果您使用命令行,您可以传递保存在 s3 中的 shell 脚本作为引导操作的一部分。

aws emr create-cluster --name "Test cluster" --ami-version 3.3 \
--use-default-roles --ec2-attributes KeyName=myKey \
--applications Name=Hue Name=Hive Name=Pig \
--instance-count 5 --instance-type m3.xlarge \
--bootstrap-action Path="s3://elasticmapreduce/bootstrap-actions/download.sh"

如果您使用的是网络界面

  • 创建shell脚本以下载必要的软件
  • 转到高级选项,作为常规集群设置的一部分,您可以指定引导操作
  • 每次克隆集群时,这些操作都会被保留,并确保在启动集群时完成 Bootstrap 。

关于hadoop - 在每个 EMR/Yarn 节点上运行 Unix shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34252030/

相关文章:

hadoop - 错误 : while processing statement: FAILED: Hive Internal Error: hive. mapred.supports.subdirectories 必须为真

hadoop - 如何在 Tez 上为 Pig 设置队列名称?

java - 在 master :8088 中找到 hadoop 2.7.2 中每个任务的容器

amazon-s3 - 如何在 Amazon EMR 实例中安装 s3cmd

amazon-web-services - 在 AWS EMR 上运行 Spark,如何在主节点上运行驱动程序?

ubuntu - Hadoop - EC2 ubuntu 上的环境设置

java - 我可以在不使用 MapReduce 的情况下使用 Java 访问 Hadoop 文件吗?

hadoop - 是否有任何经过测试的类似于 Apache Hadoop 的框架/解决方案?

hadoop - YARN 上的 Spark 中的日志在哪里?

hadoop - AWS 上的 EMR 与 EC2/Hadoop